I wrote:

!The $ExtUtils::MakeMaker::VERSION in use was 6.03 hence this report does
!not
!pertain to the later release under discussion in this thread.

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

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:

--- 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)) {
           # 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}++;
         next LIB;
       }
     }
End of possible diff.

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.

I hope something like that helps out the MakeMaker effort.

Peter Prymmer

Reply via email to