Hi Michael I'd like to discuss several issues re ExtUtils::MakeMaker, so I'll number the sections for clarity.
All this is on `uname -all`: SunOS ssapp0117 5.9 Generic_117171-15 sun4u sparc SUNW,Sun-Fire-V890 with 24 Gb of RAM. My test box has got 64 Gb (heh heh heh). (1) I install all modules in my own dir, so here's how I get the version number: $PERL -I$INSTALL -MExtUtils::MakeMaker -e 'print "$ExtUtils::MakeMaker::VERSION\n"' No surprise there. Now, 2 outputs from installing V 6.31, separated by lines of equal signs. In the first case I unpacked the distro, cd'ed into the dir, and run the command which follows. In the second case I ran the same command (cut-and-paste) from within a batch file. The test outputs are different. This confuses me. The batch file includes unpacking the distro. It's true that I don't have ExtUtils::CBuilder installed, and there is no compiler. Also, I've included the output of manually running (and killing) dos2unix in case it helps. ================================================= 526 ExtUtils-MakeMaker-6.31> $PERL -I$INSTALL Makefile.PL PREFIX=$INSTALL LIB=$INSTALL Writing Makefile for ExtUtils::MakeMaker 527 ExtUtils-MakeMaker-6.31> make cp inc/ExtUtils/Manifest.pm blib/lib/ExtUtils/Manifest.pm cp lib/ExtUtils/MM_VOS.pm blib/lib/ExtUtils/MM_VOS.pm cp lib/ExtUtils/Mksymlists.pm blib/lib/ExtUtils/Mksymlists.pm cp lib/ExtUtils/MM.pm blib/lib/ExtUtils/MM.pm cp lib/ExtUtils/MM_UWIN.pm blib/lib/ExtUtils/MM_UWIN.pm cp lib/ExtUtils/testlib.pm blib/lib/ExtUtils/testlib.pm cp lib/ExtUtils/MM_Cygwin.pm blib/lib/ExtUtils/MM_Cygwin.pm cp lib/ExtUtils/MakeMaker/vmsish.pm blib/lib/ExtUtils/MakeMaker/vmsish.pm cp lib/ExtUtils/MM_DOS.pm blib/lib/ExtUtils/MM_DOS.pm cp lib/ExtUtils/MM_Win95.pm blib/lib/ExtUtils/MM_Win95.pm cp lib/ExtUtils/Liblist.pm blib/lib/ExtUtils/Liblist.pm cp lib/ExtUtils/MM_AIX.pm blib/lib/ExtUtils/MM_AIX.pm cp lib/ExtUtils/Liblist/Kid.pm blib/lib/ExtUtils/Liblist/Kid.pm cp lib/ExtUtils/Mkbootstrap.pm blib/lib/ExtUtils/Mkbootstrap.pm cp lib/ExtUtils/MakeMaker/FAQ.pod blib/lib/ExtUtils/MakeMaker/FAQ.pod cp inc/ExtUtils/MANIFEST.SKIP blib/lib/ExtUtils/MANIFEST.SKIP cp lib/ExtUtils/MakeMaker/bytes.pm blib/lib/ExtUtils/MakeMaker/bytes.pm cp lib/ExtUtils/MM_NW5.pm blib/lib/ExtUtils/MM_NW5.pm cp inc/ExtUtils/Command.pm blib/lib/ExtUtils/Command.pm cp lib/ExtUtils/MakeMaker.pm blib/lib/ExtUtils/MakeMaker.pm cp lib/ExtUtils/MM_OS2.pm blib/lib/ExtUtils/MM_OS2.pm cp lib/ExtUtils/MM_Unix.pm blib/lib/ExtUtils/MM_Unix.pm cp lib/ExtUtils/MM_Win32.pm blib/lib/ExtUtils/MM_Win32.pm cp inc/ExtUtils/Installed.pm blib/lib/ExtUtils/Installed.pm cp inc/ExtUtils/Packlist.pm blib/lib/ExtUtils/Packlist.pm cp lib/ExtUtils/MY.pm blib/lib/ExtUtils/MY.pm cp lib/ExtUtils/MM_MacOS.pm blib/lib/ExtUtils/MM_MacOS.pm cp lib/ExtUtils/MM_VMS.pm blib/lib/ExtUtils/MM_VMS.pm cp lib/ExtUtils/MM_BeOS.pm blib/lib/ExtUtils/MM_BeOS.pm cp lib/ExtUtils/MakeMaker/Tutorial.pod blib/lib/ExtUtils/MakeMaker/Tutorial.pod cp lib/ExtUtils/MM_QNX.pm blib/lib/ExtUtils/MM_QNX.pm cp lib/ExtUtils/Command/MM.pm blib/lib/ExtUtils/Command/MM.pm cp inc/ExtUtils/Install.pm blib/lib/ExtUtils/Install.pm cp lib/ExtUtils/MakeMaker/Config.pm blib/lib/ExtUtils/MakeMaker/Config.pm cp lib/ExtUtils/MM_Any.pm blib/lib/ExtUtils/MM_Any.pm cp bin/instmodsh blib/script/instmodsh /opt/eHealth/web/aview/perl/bin/perl "-Ilib" "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/instmodsh 528 ExtUtils-MakeMaker-6.31> make test PERL_DL_NONLAZY=1 /opt/eHealth/web/aview/perl/bin/perl "-Ilib" "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00compile.............ok t/backwards.............ok t/basic.................ok t/build_man.............ok 3/9 t/build_man.............NOK 4# Failed test in t/build_man.t at line 45. t/build_man.............ok 9/9# Looks like you failed 1 test of 9. t/build_man.............dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 4 Failed 1/9 tests, 88.89% okay t/bytes.................ok t/Command...............ok t/config................ok t/dir_target............ok t/FIRST_MAKEFILE........ok t/hints.................ok t/INST..................ok t/INST_PREFIX...........ok 7/52 skipped: various reasons t/Install...............ok t/INSTALL_BASE..........ok t/Installed.............ok 10/46 skipped: various reasons t/Liblist...............ok t/make..................ok t/Manifest..............ok t/Mkbootstrap...........ok t/MM_Any................ok t/MM_BeOS...............skipped all skipped: This is not BeOS t/MM_Cygwin.............skipped all skipped: This is not cygwin t/MM_NW5................skipped all skipped: This is not NW5 t/MM_OS2................skipped all skipped: This is not OS/2 t/MM_Unix...............ok t/MM_VMS................skipped all skipped: This is not VMS t/MM_Win32..............skipped all skipped: This is not Win32 t/oneliner..............ok t/Packlist..............ok t/parse_version.........ok t/PL_FILES..............ok t/pm....................ok t/postamble.............ok t/prefixify.............ok 1/3 skipped: Test for DOSish prefixification t/prereq_print..........ok t/problems..............ok t/prompt................ok t/recurs................ok t/revision..............ok t/split_command.........ok t/testlib...............ok t/VERSION_FROM..........ok t/vmsish................ok t/writemakefile_args....ok t/xs....................skipped all skipped: ExtUtils::CBuilder not installed or couldn't find a compiler Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/build_man.t 1 256 9 1 11.11% 4 7 tests and 18 subtests skipped. Failed 1/45 test scripts, 97.78% okay. 1/735 subtests failed, 99.86% okay. make: *** [test_dynamic] Error 255 ================================================= Writing Makefile for ExtUtils::MakeMaker ------------------------------------------------------ cp lib/ExtUtils/MM_OS2.pm blib/lib/ExtUtils/MM_OS2.pm cp lib/ExtUtils/MakeMaker.pm blib/lib/ExtUtils/MakeMaker.pm cp lib/ExtUtils/MM_VOS.pm blib/lib/ExtUtils/MM_VOS.pm cp lib/ExtUtils/MM_Unix.pm blib/lib/ExtUtils/MM_Unix.pm cp lib/ExtUtils/Mksymlists.pm blib/lib/ExtUtils/Mksymlists.pm cp lib/ExtUtils/MM.pm blib/lib/ExtUtils/MM.pm cp lib/ExtUtils/MM_Win32.pm blib/lib/ExtUtils/MM_Win32.pm cp lib/ExtUtils/MM_UWIN.pm blib/lib/ExtUtils/MM_UWIN.pm cp lib/ExtUtils/testlib.pm blib/lib/ExtUtils/testlib.pm cp lib/ExtUtils/MY.pm blib/lib/ExtUtils/MY.pm cp lib/ExtUtils/MakeMaker/vmsish.pm blib/lib/ExtUtils/MakeMaker/vmsish.pm cp lib/ExtUtils/MM_DOS.pm blib/lib/ExtUtils/MM_DOS.pm cp lib/ExtUtils/MM_Cygwin.pm blib/lib/ExtUtils/MM_Cygwin.pm cp lib/ExtUtils/MM_MacOS.pm blib/lib/ExtUtils/MM_MacOS.pm cp lib/ExtUtils/MM_VMS.pm blib/lib/ExtUtils/MM_VMS.pm cp lib/ExtUtils/MM_Win95.pm blib/lib/ExtUtils/MM_Win95.pm cp lib/ExtUtils/MM_BeOS.pm blib/lib/ExtUtils/MM_BeOS.pm cp lib/ExtUtils/Liblist.pm blib/lib/ExtUtils/Liblist.pm cp lib/ExtUtils/MakeMaker/Tutorial.pod blib/lib/ExtUtils/MakeMaker/Tutorial.pod cp lib/ExtUtils/MM_AIX.pm blib/lib/ExtUtils/MM_AIX.pm cp lib/ExtUtils/Liblist/Kid.pm blib/lib/ExtUtils/Liblist/Kid.pm cp lib/ExtUtils/Mkbootstrap.pm blib/lib/ExtUtils/Mkbootstrap.pm cp lib/ExtUtils/MM_QNX.pm blib/lib/ExtUtils/MM_QNX.pm cp lib/ExtUtils/MakeMaker/FAQ.pod blib/lib/ExtUtils/MakeMaker/FAQ.pod cp lib/ExtUtils/Command/MM.pm blib/lib/ExtUtils/Command/MM.pm cp lib/ExtUtils/MakeMaker/Config.pm blib/lib/ExtUtils/MakeMaker/Config.pm cp inc/ExtUtils/MANIFEST.SKIP blib/lib/ExtUtils/MANIFEST.SKIP cp lib/ExtUtils/MakeMaker/bytes.pm blib/lib/ExtUtils/MakeMaker/bytes.pm cp lib/ExtUtils/MM_NW5.pm blib/lib/ExtUtils/MM_NW5.pm cp lib/ExtUtils/MM_Any.pm blib/lib/ExtUtils/MM_Any.pm cp bin/instmodsh blib/script/instmodsh /opt/eHealth/web/aview/perl/bin/perl "-Ilib" "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/instmodsh ------------------------------------------------------ PERL_DL_NONLAZY=1 /opt/eHealth/web/aview/perl/bin/perl "-Ilib" "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00compile.............ok t/backwards.............ok t/basic.................ok 73/80 t/basic.................NOK 74# Failed test 'distdir' # in t/basic.t at line 265. # got: '512' # expected: '0' # make[1]: Entering directory `/opt/ssapp0117/ehealth/product/5.7/custom/bin/perl-modules/ExtUtils-MakeMaker-6.31/t/Big-Dummy' # rm -rf Big-Dummy-0.01 # /opt/eHealth/web/aview/perl/bin/perl "-MExtUtils::Manifest=manicopy,maniread" \ # -e "manicopy(maniread(),'Big-Dummy-0.01', 'best');" # -e: META.yml not found at -e line 1 # Can't read META.yml: No such file or directory # mkdir Big-Dummy-0.01 # mkdir Big-Dummy-0.01/bin # make[1]: *** [create_distdir] Error 2 # make[1]: Leaving directory `/opt/ssapp0117/ehealth/product/5.7/custom/bin/perl-modules/ExtUtils-MakeMaker-6.31/t/Big-Dummy' t/basic.................ok 80/80# Looks like you failed 1 test of 80. t/basic.................dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 74 Failed 1/80 tests, 98.75% okay t/build_man.............ok 3/9 t/build_man.............NOK 4# Failed test in t/build_man.t at line 45. t/build_man.............ok 9/9# Looks like you failed 1 test of 9. t/build_man.............dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 4 Failed 1/9 tests, 88.89% okay t/bytes.................ok t/Command...............ok 4/38 t/Command...............NOK 5# Failed test 'test_f preserves @ARGV' # in t/Command.t at line 66. # Structures begin differing at: # $got->[0] = Does not exist # $expected->[0] = 'testfile.foo' t/Command...............ok 13/38 t/Command...............NOK 14# Failed test 'chmod preserves @ARGV' # in t/Command.t at line 137. # Structures begin differing at: # $got->[0] = 'testfile.foo' # $expected->[0] = '0600' t/Command...............ok 22/38 # Failed test 'cp preserves @ARGV' t/Command...............NOK 23# in t/Command.t at line 193. # Structures begin differing at: # $got->[1] = Does not exist # $expected->[1] = 'ecmddir/temp2' t/Command...............ok 25/38 t/Command...............NOK 26# Failed test in t/Command.t at line 206. # Failed test 'mv preserves @ARGV' t/Command...............NOK 27# in t/Command.t at line 207. # Structures begin differing at: # $got->[1] = Does not exist # $expected->[1] = 'ecmddir' t/Command...............ok 35/38Undefined subroutine &ExtUtils::Command::dos2unix called at t/Command.t line 269, <> line 572. # Looks like you planned 38 tests but only ran 35. # Looks like you failed 5 tests of 35 run. # Looks like your test died just after 35. t/Command...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 5, 14, 23, 26-27, 36-38 Failed 8/38 tests, 78.95% okay t/config................ok t/dir_target............ok t/FIRST_MAKEFILE........ok t/hints.................ok t/INST..................ok t/INST_PREFIX...........ok 7/52 skipped: various reasons t/Install...............ok t/INSTALL_BASE..........ok t/Installed.............ok 10/46 skipped: various reasons t/Liblist...............ok t/make..................ok t/Manifest..............ok 24/49 # Failed test ' writable if original was' t/Manifest..............NOK 25# in t/Manifest.t at line 153. # got: '' # expected: '1' t/Manifest..............ok 27/49 # Failed test ' writable if original was' t/Manifest..............NOK 28# in t/Manifest.t at line 153. # got: '' # expected: '1' t/Manifest..............ok 49/49# Looks like you failed 2 tests of 49. t/Manifest..............dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 25, 28 Failed 2/49 tests, 95.92% okay t/Mkbootstrap...........ok t/MM_Any................ok t/MM_BeOS...............skipped all skipped: This is not BeOS t/MM_Cygwin.............skipped all skipped: This is not cygwin t/MM_NW5................skipped all skipped: This is not NW5 t/MM_OS2................skipped all skipped: This is not OS/2 t/MM_Unix...............ok t/MM_VMS................skipped all skipped: This is not VMS t/MM_Win32..............skipped all skipped: This is not Win32 t/oneliner..............ok t/Packlist..............ok t/parse_version.........ok t/PL_FILES..............ok t/pm....................ok t/postamble.............ok t/prefixify.............ok 1/3 skipped: Test for DOSish prefixification t/prereq_print..........ok t/problems..............ok t/prompt................ok t/recurs................ok t/revision..............ok t/split_command.........ok t/testlib...............ok t/VERSION_FROM..........ok t/vmsish................ok t/writemakefile_args....ok t/xs....................skipped all skipped: ExtUtils::CBuilder not installed or couldn't find a compiler Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/Command.t 255 65280 38 11 28.95% 5 14 23 26-27 36-38 t/Manifest.t 2 512 49 2 4.08% 25 28 t/basic.t 1 256 80 1 1.25% 74 t/build_man.t 1 256 9 1 11.11% 4 7 tests and 18 subtests skipped. Failed 4/45 test scripts, 91.11% okay. 12/735 subtests failed, 98.37% okay. make: *** [test_dynamic] Error 255 ================================================= 537 perl-modules> dos2unix could not open /dev/kbd to get keyboard type US keyboard assumed could not get keyboard type US keyboard assumed ^C ================================================= (2) When I install a module which depends on another module, and the latter is already installed in my dir, my command $PERL -I$INSTALL Makefile.PL PREFIX=$INSTALL LIB=$INSTALL works in terms of finding the dependency, but does not work when running the tests. It seems -I$INSTALL is not passed thru to the testing phase. Is this correct? I read the docs for ExtUtils::MakeMaker and the FAQ but could not see anything referring to this matter. Is there something I can do to humour 'make test'? (3) The FAQ, under Module Installation, says: perl Makefile.PL INSTALL_BASE=~ It'd help Windows users if this was added: Under MS Windows, use instead: perl Makefile.PL INSTALL_BASE=\perl-modules Then a few lines down: use lib "$ENV{HOME}/lib/perl5"; would become: use lib "/perl-modules/lib/perl5"; (4) The FAQ, under Philosophy and History, says: pure perl. no make, no shell commands This makes me uneasy, since I believe now that M::B depends on a module which requires a compiler, so, although strictly true, your can't install M::B without a compiler. Sigh. Is that worth clarifying? -- Ron Savage [EMAIL PROTECTED] http://savage.net.au/index.html