----- Forwarded message from [EMAIL PROTECTED] ----- Subject: Recent experimentation with perl@15489 and MM 5.52_01 To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] From: [EMAIL PROTECTED] X-MIMETrack: Serialize by Router on FactnotesSTM2/FactSet(Release 5.0.9 |November 16, 2001) at 03/26/2002 10:05:29 AM
Greetings, I should point out that in order to get perl@15489 to build I had to patch ext/Encode/Encode.xs but I have reason to believe that the correct fix will be put in soon - hopefully before release of 5.8.0. I did run "mms install" with the kit then tried running the set up for the ExtUtils-MakeMaker-5.52_01 which did not look good, no doubt owing to the trouble with the MakeMaker that ships with perl@15489. The build looked like the following (sic): $ perl makefile.pl Checking if your kit is complete... Looks good Writing Descrip.MMS for ExtUtils::MakeMaker $ mms %MMS-W-MBREDEFILL, Illegal attempt to redefine macro NAME MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" "-MExtUtils::Install" -e "pm_ to_blib({split(' ',<STDIN>)},'[.blib.lib.auto]','')" <.MM_tmp cp [.lib.extutils]mm_vms.pm [.blib.lib.extutils]mm_vms.pm cp [.lib.extutils]command.pm [.blib.lib.extutils]command.pm cp [.lib.extutils]mm_cygwin.pm [.blib.lib.extutils]mm_cygwin.pm cp [.lib.extutils]mm_dos.pm [.blib.lib.extutils]mm_dos.pm cp [.lib.extutils]mm_nw5.pm [.blib.lib.extutils]mm_nw5.pm cp [.lib.extutils]install.pm [.blib.lib.extutils]install.pm cp [.lib.extutils]manifest.skip [.blib.lib.extutils]manifest.skip cp [.lib.extutils.liblist]kid.pm [.blib.lib.extutils.liblist]kid.pm cp [.lib.extutils]packlist.pm [.blib.lib.extutils]packlist.pm cp [.lib.extutils.command]mm.pm [.blib.lib.extutils.command]mm.pm cp [.lib.extutils]mm_win32.pm [.blib.lib.extutils]mm_win32.pm cp [.lib.extutils]mksymlists.pm [.blib.lib.extutils]mksymlists.pm cp [.lib.extutils]manifest.pm [.blib.lib.extutils]manifest.pm cp [.lib.extutils]mm_win95.pm [.blib.lib.extutils]mm_win95.pm cp [.lib.extutils]mm_uwin.pm [.blib.lib.extutils]mm_uwin.pm cp [.lib.extutils]mm_beos.pm [.blib.lib.extutils]mm_beos.pm cp [.lib.extutils]makemaker.pm [.blib.lib.extutils]makemaker.pm cp [.lib.extutils]mm_any.pm [.blib.lib.extutils]mm_any.pm cp [.lib.extutils]mkbootstrap.pm [.blib.lib.extutils]mkbootstrap.pm cp [.lib.extutils]mm.pm [.blib.lib.extutils]mm.pm cp [.lib.extutils]testlib.pm [.blib.lib.extutils]testlib.pm cp [.lib.extutils]liblist.pm [.blib.lib.extutils]liblist.pm cp [.lib.extutils]mm_unix.pm [.blib.lib.extutils]mm_unix.pm cp [.lib.extutils]my.pm [.blib.lib.extutils]my.pm cp [.lib.extutils]mm_os2.pm [.blib.lib.extutils]mm_os2.pm cp [.lib.extutils]installed.pm [.blib.lib.extutils]installed.pm [total of more than 37 blank lines suppressed] Copy/NoConfirm [.bin]instmodsh [.blib.script]instmodsh %MMS-F-GWKNOACTS, Actions to update MAKEMAKERDFLT are unknown. $ The last error message is a VMS make utility fatal error, which points up the fact that the hack to force the "all" target via: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-03/msg01168.html did not actually solve the target ordering bug - it merely enshrined it in code. As it stands the perl@15489 kit will have to document for VMS perl administrators that they must now build modules via: perl Makefile.PL mms all mms test mms install Since the "all" target is now required so as to avoid the fatal MMS error. Here is what "mms test" looked like with the 5.52_01 kit: $ mms test %MMS-W-MBREDEFILL, Illegal attempt to redefine macro NAME MCR perl_root:[000000]perl.exe " -IDKB400:[PPRYMMER.EXTUTILS-MAKEMAKER-5_52_01]li b" "-MExtUtils::testlib" "-MExtUtils::Command::MM" "-e" "test_harness(0)" t/*.t t/basic.......... # Failed test (t/basic.t at line 60) # got: '256' # expected: '0' # Failed test (t/basic.t at line 63) # got: '1024' # expected: '0' # %MMS-W-MBREDEFILL, Illegal attempt to redefine macro NAME # MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" -e "use File::Path; @dirs = map(VMS::Filespec::unixify($_),@ARGV); rmtree(\@dirs,0,0)" Big-Fat-Dummy-0_01 # MCR perl_root:[000000]perl.exe "-MExtUtils::Manifest=manicopy,maniread" -e "manicopy(maniread(),'Big-Fat-Dummy-0_01', 'best');" # mkdir Big-Fat-Dummy-0_01 # mkdir Big-Fat-Dummy-0_01/lib # mkdir Big-Fat-Dummy-0_01/lib/big # mkdir Big-Fat-Dummy-0_01/lib/big/fat # mkdir Big-Fat-Dummy-0_01/t # startdir = F$Environment("Default") # Set Default [.Big-Fat-Dummy-0_01] # MCR perl_root:[000000]perl.exe Makefile.PL # Checking if your kit is complete... # Looks good # Writing Descrip.MMS for Big::Fat::Dummy # MMS # %MMS-W-MBREDEFILL, Illegal attempt to redefine macro NAME # MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" "-MExtUtils::Install" -e "p m_to_blib({split(' ',<STDIN>)},'[.blib.lib.auto]','')" <.MM_tmp # cp [.lib.big.fat]dummy.pm [.blib.lib.big.fat]dummy.pm # %MMS-F-GWKNOACTS, Actions to update MAKEMAKERDFLT are unknown. # %MMS-F-ABORT, For target DISTTEST, CLI returned abort status: %X10EE805C. # Failed test (t/basic.t at line 66) # got: '256' # expected: '0' # %MMS-W-MBREDEFILL, Illegal attempt to redefine macro NAME # MCR perl_root:[000000]perl.exe -e "foreach (@ARGV) { 1 while ( -d $_ ? rmdir $ _ : unlink $_)}" *.Map *.Dmp *.Lis *.cpp *.exe *.obj *.olb *.Opt Dummy.bso ..MM_ Tmp # MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" -e "use File::Path; @dirs = map(VMS::Filespec::unixify($_),@ARGV); rmtree(\@dirs,0,0)" perlmain.c [.blib.arch.auto.Big.Fat.Dummy]extralibs.all pm_to_blib.ts # MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" -e "use File::Path; @dirs = map(VMS::Filespec::unixify($_),@ARGV); rmtree(\@dirs,0,0)" extralibs.ld blib Ma keaperl.MMS # MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" -e "use File::Path; @dirs = map(VMS::Filespec::unixify($_),@ARGV); rmtree(\@dirs,0,0)" [.blib.lib.auto.Big. Fat.Dummy] [.blib.arch.auto.Big.Fat.Dummy] # MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" -e "use File::Path; @dirs = map(VMS::Filespec::unixify($_),@ARGV); rmtree(\@dirs,0,0)" Big-Fat-Dummy-0_01 # MCR perl_root:[000000]perl.exe -e "foreach (@ARGV) { 1 while ( -d $_ ? rmdir $ _ : unlink $_)}" [.blib.lib.big.fat]dummy.pm # MCR perl_root:[000000]perl.exe -e "foreach (@ARGV) { 1 while ( -d $_ ? rmdir $ _ : unlink $_)}" Descrip.MMS_old Descrip.MMS # Looks like you failed 3 tests of 11. %SYSTEM-F-ABORT, abort dubious Test returned status 44 (wstat 1024, 0x400) (VMS status is 44) DIED. FAILED tests 9-11 Failed 3/11 tests, 72.73% okay t/command........ ok t/hints.......... ok t/installed...... # Failed test (t/installed.t at line 59) # got: '0' # expected: '1' # Failed test (t/installed.t at line 168) # got: '0' # expected: '1' # Failed test (t/installed.t at line 169) # undef # doesn't match '(?-xism:foobar[>\]]?$)' # Looks like you failed 3 tests of 42. %SYSTEM-F-ABORT, abort dubious Test returned status 44 (wstat 1024, 0x400) (VMS status is 44) DIED. FAILED tests 9, 29-30 Failed 3/42 tests, 92.86% okay (-10 skipped tests: 29 okay, 69.05%) t/manifest....... ok t/mkbootstrap.... ok t/mm_beos........ skipped: This is not BeOS t/mm_cygwin...... skipped: This is not cygwin t/mm_os2......... skipped: This is not OS/2 t/mm_unix........ skipped: Non-Unix platform t/mm_vms......... ok t/mm_win32....... skipped: This is not Win32 t/packlist....... ok t/testlib........ ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/basic.t 44 1024 11 3 27.27% 9-11 t/installed.t 44 1024 42 3 7.14% 9 29-30 5 tests and 10 subtests skipped. Failed 2/14 test scripts, 85.71% okay. 6/213 subtests failed, 97.18% okay. %SYSTEM-F-ABORT, abort %MMS-F-ABORT, For target TEST_DYNAMIC, CLI returned abort status: %X0000002C. -SYSTEM-F-ABORT, abort As a last test of it, if I install the 5.52_01 MakeMaker and then turn around and ask it to build a Makefile I see: $ mms install %MMS-W-MBREDEFILL, Illegal attempt to redefine macro NAME [more than 30 blank lines of output suppressed - what is goin on here?] MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" "-MExtUtils::Install" -e "ins tall({split(' ',<STDIN>)},1);" <.MM_tmp Installing perl_root:[lib.extutils]command.pm Installing perl_root:[lib.extutils]install.pm Installing perl_root:[lib.extutils]installed.pm Installing perl_root:[lib.extutils]liblist.pm Installing perl_root:[lib.extutils]makemaker.pm Installing perl_root:[lib.extutils]manifest.pm Installing perl_root:[lib.extutils]manifest.skip Skipping perl_root:[lib.extutils]mkbootstrap.pm (unchanged) Installing perl_root:[lib.extutils]mksymlists.pm Installing perl_root:[lib.extutils]mm.pm Installing perl_root:[lib.extutils]mm_any.pm Installing perl_root:[lib.extutils]mm_beos.pm Installing perl_root:[lib.extutils]mm_cygwin.pm Installing perl_root:[lib.extutils]mm_dos.pm Installing perl_root:[lib.extutils]mm_nw5.pm Installing perl_root:[lib.extutils]mm_os2.pm Installing perl_root:[lib.extutils]mm_unix.pm Installing perl_root:[lib.extutils]mm_uwin.pm Installing perl_root:[lib.extutils]mm_vms.pm Installing perl_root:[lib.extutils]mm_win32.pm Installing perl_root:[lib.extutils]mm_win95.pm Installing perl_root:[lib.extutils]my.pm Installing perl_root:[lib.extutils]packlist.pm Installing perl_root:[lib.extutils]testlib.pm Installing perl_root:[lib.extutils.liblist]kid.pm Installing perl_root:[lib.extutils.command]mm.pm Installing perl_root:[man.man3]extutils__command.rno Installing perl_root:[man.man3]extutils__command__mm.rno Installing perl_root:[man.man3]extutils__install.rno Installing perl_root:[man.man3]extutils__installed.rno Installing perl_root:[man.man3]extutils__liblist.rno Installing perl_root:[man.man3]extutils__makemaker.rno Installing perl_root:[man.man3]extutils__manifest.rno Installing perl_root:[man.man3]extutils__mkbootstrap.rno Installing perl_root:[man.man3]extutils__mksymlists.rno Installing perl_root:[man.man3]extutils__mm.rno Installing perl_root:[man.man3]extutils__mm_any.rno Installing perl_root:[man.man3]extutils__mm_beos.rno Installing perl_root:[man.man3]extutils__mm_cygwin.rno Installing perl_root:[man.man3]extutils__mm_dos.rno Installing perl_root:[man.man3]extutils__mm_os2.rno Installing perl_root:[man.man3]extutils__mm_unix.rno Installing perl_root:[man.man3]extutils__mm_uwin.rno Installing perl_root:[man.man3]extutils__mm_vms.rno Installing perl_root:[man.man3]extutils__mm_win32.rno Installing perl_root:[man.man3]extutils__my.rno Installing perl_root:[man.man3]extutils__packlist.rno Installing perl_root:[man.man3]extutils__testlib.rno Installing perl_root:[utils]instmodsh. mkdir perl_root/lib/VMS_AXP/5_7_3//auto/[: file specification syntax error at /p erl_root/lib/ExtUtils/Install.pm line 165 %SYSTEM-F-ABORT, abort %MMS-F-ABORT, For target PURE_PERL_INSTALL, CLI returned abort status: %X0000002 C. -SYSTEM-F-ABORT, abort $ And at last let's see if it can build itself, preferably without fatal errors: $ perl Makefile.PL Checking if your kit is complete... Looks good Writing Descrip.MMS for ExtUtils::MakeMaker $ mms %MMS-W-MBREDEFILL, Illegal attempt to redefine macro NAME MCR perl_root:[000000]perl.exe "-Iperl_root:[lib]" "-MExtUtils::Install" -e "pm_ to_blib({split(' ',<STDIN>)},'[.blib.lib.auto]','')" <.MM_tmp cp [.lib.extutils]mm_vms.pm [.blib.lib.extutils]mm_vms.pm [many blank lines suppressed] Copy/NoConfirm [.bin]instmodsh [.blib.script]instmodsh %MMS-F-GWKNOACTS, Actions to update MAKEMAKERDFLT are unknown. $ In other words, similar output to the above. In summary: the bug of not putting all at the top of the appropriate target ordering is still there and not addressed by the makemakerdflt pseudo target. If that bug cannot be fixed then perl should have at least the following patch applied so as to give perl administrators a fighting chance: $ gdiff -u pod/perlmodinstall.pod;-1 pod/perlmodinstall.pod --- pod/perlmodinstall.pod;-1 Mon Mar 25 16:48:13 2002 +++ pod/perlmodinstall.pod Tue Mar 26 10:02:52 2002 @@ -328,7 +328,7 @@ Now you're ready to build: - mms + mms all mms test Substitute C<mmk> for C<mms> above if you're using MMK. End of doc patch. Actually since the ext/util/make_ext script still has to employ the all target in order to build perl's own extensions I suspect that the need to use the "all" target explicitly is much more widespread than believed. $ search [.ext.util]make_ext. all passthru="$*" # allow extra macro=value to be passed through echo ' in your call to make_ext. See ext/util/make_ext for details.' # The Perl Makefile.SH will expand all extensions to # convert 'static' or 'dynamic' into 'all LINKTYPE=XXX' target=all target=all target=all test -f Makefile.PL && ../$depth/miniperl -I../$depth/lib Makefile.PL IN STALLDIRS=perl PERL_CORE=1 $passthru Peter Prymmer ----- End forwarded message ----- -- Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One It's Ecstacy time!