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?