http://qs1969.pair.com?node_id=954344


in reply to Re^3: Strawberry Perl 5.12.3, CPAN, make file problems (dmake.exe), DFSEP and backslash "\"
in thread Strawberry Perl 5.12.3, CPAN, make file problems (dmake.exe), DFSEP and backslash "\"

Everything in your posts confirms that perl Makefile.PL make=nmake is the reason, whether its because of cpan configuration or Config_heavy.pl

You mention CPAN conf. I see the Strawberry Perl dmake called out explicitly.

cpan> o conf $CPAN::Config options from C:\strawberry\perl\lib/CPAN/Config.pm: commit [Commit changes to disk] defaults [Reload defaults from disk] help [Short help about 'o conf' usage] init [Interactive setting of all options] applypatch [] auto_commit [1] build_cache [10] build_dir [C:\strawberry\cpan\build] build_dir_reuse [0] build_requires_install_policy [yes] bzip2 [] cache_metadata [0] check_sigs [0] colorize_debug undef colorize_output [0] colorize_print [bold blue on_white] colorize_warn [bold red on_white] commandnumber_in_prompt [0] commands_quote undef connect_to_internet_ok undef cpan_home [C:\strawberry\cpan] curl [] dontload_hash undef dontload_list undef ftp [C:\WINDOWS\system32\ftp.EXE] ftp_passive [1] ftp_proxy [] ftpstats_period undef ftpstats_size undef getcwd [cwd] gpg [] gzip [ ] halt_on_failure undef histfile [C:\strawberry\cpan\histfile] histsize [100] http_proxy [] inactivity_timeout [0] index_expire [1] inhibit_startup_message [0] keep_source_where [C:\strawberry\cpan\sources] load_module_verbosity [none] lynx [] make [C:\strawberry\c\bin\dmake.EXE] make_arg [] make_install_arg [UNINST=1] make_install_make_command undef makepl_arg [] mbuild_arg [] mbuild_install_arg [--uninst 1] mbuild_install_build_command undef mbuildpl_arg [] ncftp [] ncftpget [] no_proxy [] pager [C:\WINDOWS\system32\more.COM] password undef patch [C:\strawberry\c\bin\patch.exe] patches_dir undef perl5lib_verbosity undef prefer_external_tar undef prefer_installer [MB] prefs_dir [C:\strawberry\cpan\prefs] prerequisites_policy [follow] proxy_pass undef proxy_user undef randomize_urllist undef scan_cache [atstart] shell [C:\WINDOWS\system32\cmd.exe] show_unparsable_versions [0] show_upload_date [1] show_zero_versions [0] tar [ ] tar_verbosity [none] term_is_latin [0] term_ornaments [0] test_report [0] trust_test_report_history undef unzip [] urllist 0 [http://cpan.strawberryperl.com/] use_sqlite [1] username undef version_timeout undef wait_list undef wget [] yaml_load_code [0] yaml_module [YAML]

Maybe I should update make_arg with make=dmake?

Also, the dir C:\strawberry\cpan\prefs is completely empty. Not sure if that is relevant.

EDIT: And here are all the "makes" in Config_heavy.pl.

C:\strawberry\perl\lib > find "make" Config_heavy.pl ---------- CONFIG_HEAVY.PL firstmakefile='makefile' gmake='gmake' make='dmake' make_set_make='#' pmake=''
  • Comment on Re^4: Strawberry Perl 5.12.3, CPAN, make file problems (dmake.exe), DFSEP and backslash "\"
  • Select or Download Code

Replies are listed 'Best First'.
Re^5: Strawberry Perl 5.12.3, CPAN, make file problems (dmake.exe), DFSEP and backslash "\"
by jffry (Hermit) on Feb 16, 2012 at 22:49 UTC

    So modifying the cpan conf make_arg didn't help.

    cpan> o conf make_arg make=dmake make_arg [make=dmake] commit: wrote 'C:\strawberry\perl\lib/CPAN/Config.pm'

    That argument was already in there, so it added it twice in some spots.

    > cpan Spreadsheet::WriteExcel CPAN: CPAN::SQLite loaded ok (v0.199) Database was generated on Thu, 16 Feb 2012 19:36:49 GMT Running install for module 'Spreadsheet::WriteExcel' Running make for J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.37.tar.gz CPAN: Digest::SHA loaded ok (v5.61) CPAN: Compress::Zlib loaded ok (v2.034) Checksum for C:\strawberry\cpan\sources\authors\id\J\JM\JMCNAMARA\Spre +adsheet-WriteExcel-2.37.tar.gz ok CPAN: Archive::Tar loaded ok (v1.76) CPAN: File::Temp loaded ok (v0.22) CPAN: Parse::CPAN::Meta loaded ok (v1.4401) CPAN: CPAN::Meta loaded ok (v2.110930) CPAN: Module::CoreList loaded ok (v2.46) CPAN.pm: Going to build J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.37.t +ar.gz Checking if your kit is complete... Looks good Warning: prerequisite OLE::Storage_Lite 0.19 not found. Writing Makefile for Spreadsheet::WriteExcel Could not read metadata file. Falling back to other methods to determi +ne prerequisites ---- Unsatisfied dependencies detected during ---- ---- JMCNAMARA/Spreadsheet-WriteExcel-2.37.tar.gz ---- OLE::Storage_Lite [requires] Running make test Delayed until after prerequisites Running make install Delayed until after prerequisites Running install for module 'OLE::Storage_Lite' Running make for J/JM/JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz Checksum for C:\strawberry\cpan\sources\authors\id\J\JM\JMCNAMARA\OLE- +Storage_Lite-0.19.tar.gz ok CPAN.pm: Going to build J/JM/JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz Checking if your kit is complete... Looks good Writing Makefile for OLE::Storage_Lite dmake.EXE: Error: -- `C:\strawberry\perl\libConfig.pm' not found, and + can't be made JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz C:\strawberry\c\bin\dmake.EXE make=dmake make=dmake -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running make for J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.37.tar.gz Has already been unwrapped into directory C:\strawberry\cpan\build\S +preadsheet-WriteExcel-2.37-_3IUZL CPAN.pm: Going to build J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.37.t +ar.gz Warning: Prerequisite 'OLE::Storage_Lite => 0.19' for 'JMCNAMARA/Sprea +dsheet-WriteExcel-2.37.tar.gz' failed when processing 'JMCNAMA RA/OLE-Storage_Lite-0.19.tar.gz' with 'make => NO'. Continuing, but ch +ances to succeed are limited. CPAN: Time::HiRes loaded ok (v1.9721) dmake.EXE: Error: -- `C:\strawberry\perl\libConfig.pm' not found, and + can't be made JMCNAMARA/Spreadsheet-WriteExcel-2.37.tar.gz C:\strawberry\c\bin\dmake.EXE make=dmake make=dmake -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible

      make=dmake is an argument to Makefile.PL , ie makepl_arg

        And that nailed it! Thanks Anonymous.

        Doing this:
        cpan> o conf makepl_arg make=dmake makepl_arg [make=dmake] commit: wrote 'C:\strawberry\perl\lib/CPAN/Config.pm'
        Allowed me to actually install my first CPAN module in Strawberry Perl on Windows:
        C:\strawberry > cpan OLE::Storage_Lite CPAN: CPAN::SQLite loaded ok (v0.199) Database was generated on Thu, 16 Feb 2012 19:36:49 GMT Running install for module 'OLE::Storage_Lite' Running make for J/JM/JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz CPAN: Digest::SHA loaded ok (v5.61) CPAN: Compress::Zlib loaded ok (v2.034) Checksum for C:\strawberry\cpan\sources\authors\id\J\JM\JMCNAMARA\OLE- +Storage_Lite-0.19.tar.gz ok CPAN: Archive::Tar loaded ok (v1.76) CPAN: File::Temp loaded ok (v0.22) CPAN: Parse::CPAN::Meta loaded ok (v1.4401) CPAN: CPAN::Meta loaded ok (v2.110930) CPAN: Module::CoreList loaded ok (v2.46) CPAN.pm: Going to build J/JM/JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz Checking if your kit is complete... Looks good Writing Makefile for OLE::Storage_Lite Could not read metadata file. Falling back to other methods to determi +ne prerequisites cp lib/OLE/Storage_Lite.pm blib\lib\OLE\Storage_Lite.pm JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz C:\strawberry\c\bin\dmake.EXE -- OK Running make test C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'blib\lib', 'blib\arch')" t/*.t t/00_load.t ............. ok t/01_date_conversion.t .. ok All tests successful. Files=2, Tests=199, 2 wallclock secs ( 0.06 usr + 0.08 sys = 0.14 C +PU) Result: PASS JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz C:\strawberry\c\bin\dmake.EXE test -- OK Running make install Prepending C:\strawberry\cpan\build\OLE-Storage_Lite-0.19-bImzpP/blib/ +arch C:\strawberry\cpan\build\OLE-Storage_Lite-0.19-bImzpP/bli b/lib to PERL5LIB for 'install' Installing C:\strawberry\perl\site\lib\OLE\Storage_Lite.pm Appending installation info to C:\strawberry\perl\lib/perllocal.pod JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz C:\strawberry\c\bin\dmake.EXE install UNINST=1 -- OK
        Of course, I undid my modification of the wrong cpan conf option first:
        cpan> o conf make_arg "" make_arg [] commit: wrote 'C:\strawberry\perl\lib/CPAN/Config.pm'

        I have no idea what was so special about my Windows installation that this option was not set from the beginning in Strawberry Perl, but I consider this solved for my part.