On Tue, Jun 03, 2003 at 12:13:54PM -0400, [EMAIL PROTECTED] wrote:
> Here are the "mmk test" results I obtained with perl 5.8.1 ([EMAIL PROTECTED] kit)
> on
> VMS 7.3-1:
> 
> Failed Test Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> t/basic.t     44  1024    52    9  17.31%  22-26 31-32 34 43
> 7 tests and 62 subtests skipped.
> Failed 1/33 test scripts, 96.97% okay. 9/481 subtests failed, 98.13% okay.
> %SYSTEM-F-ABORT, abort
> %MMK-F-ERRUPD, error status %X0000002C occurred when updating target
> TEST_DYNAMIC

Is that the latest MM snapshot run against [EMAIL PROTECTED]


> In taking a look at some of the trouble I had reported earlier
> regarding the ExtUtils::MakeMaker that shipped with the perl tar ball
> I did spot some problems, such as:
> 
> $ sho sym perllint
>   PERLLINT == "$perl_root:[000000]perl "-Is:[refcopy]" "-Mstrict" -w -c"
> $ perllint [.lib.extutils.liblist]kid.pm
> Global symbol "$fullname" requires explicit package name at
> [.lib.extutils.liblist]kid.pm line 522.
> [.lib.extutils.liblist]kid.pm had compilation errors.
> %SYSTEM-F-ABORT, abort
> 
> Here is a possible way to patch the Kid.pm that ships with
> the MakeMaker 6.10_04 kit:

That's odd, it should have shown up in 00compile.t.  This is odd, too:

$ perl -Ilib -wle 'require ExtUtils::Liblist::Kid'
$ perl -Ilib -cw lib/ExtUtils/Liblist/Kid.pm 
Name "ExtUtils::Liblist::Kid::fullname" used only once: possible typo at 
lib/ExtUtils/Liblist/Kid.pm line 522.
lib/ExtUtils/Liblist/Kid.pm syntax OK

No warning when you require it, only when you compile it.


> --- lib/extutils/liblist/kid.pm;-1  Fri May 23 00:40:27 2003
> +++ lib/ExtUtils/Liblist/Kid.pm     Tue Jun  3 12:08:12 2003
> @@ -475,7 +475,8 @@
> 
>          $name = "$dir$variant";
>          warn "\tChecking $name\n" if $verbose > 2;
> -        if (-f ($test = VMS::Filespec::rmsexpand($name))) {
> +        $test = VMS::Filespec::rmsexpand($name);
> +        if (defined($test) && ( -f $test)) {

I'm s/$test/$fullname/.  More descriptive, matches the other variants'
naming scheme.

>            # It's got its own suffix, so we'll have to figure out the type
>            if    ($test =~ /(?:$so|exe)$/i)      { $type = 'SHR'; }
>            elsif ($test =~ /(?:$lib_ext|olb)$/i) { $type = 'OLB'; }
> @@ -519,7 +520,7 @@
>          if ($cand eq 'VAXCCURSE') { unshift @{$found{$ctype}}, $cand; }
>          else                      { push    @{$found{$ctype}}, $cand; }
>          warn "\tFound as $cand (really $test), type $ctype\n" if $verbose > 1;
> -     push @flibs, $name unless $libs_seen{$fullname}++;
> +     push @flibs, $name unless $libs_seen{$test}++;

You sure that shouldn't be
    push @flibs, $name unless $libs_seen{$name}++;
or
    push @flibs, $test unless $libs_seen{$test}++;


> And as modified that module now passes the perllint test:
> 
> $ perllint [.lib.extutils.liblist]kid.pm
> [.lib.extutils.liblist]kid.pm syntax OK
> 
> Unfortunately with that the Makefile.PL for DBD-mysql still generates the
> unititialized value trouble that I had reported earlier - only a bit less
> so.

Could I see this against a recent MakeMaker?  The last uninit warning you
sent didn't correspond to anywhere sensible in a current MakeMaker.


-- 
How can you get very far,
If you don't know Who You Are?
How can you do what you ought,
If you don't know What You've Got?

Reply via email to