Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

PAR::Packer fails to install

by BernieC (Pilgrim)
on Sep 13, 2020 at 19:53 UTC ( [id://11121693]=perlquestion: print w/replies, xml ) Need Help??

BernieC has asked for the wisdom of the Perl Monks concerning the following question:

My system is win10/64. I'm running

This is perl 5, version 32, subversion 0 (v5.32.0) built for MSWin32-x64-multi-thread

when I try to install Par::Packer it fails with:

Test Summary Report ------------------- t/20-pp.t (Wstat: 1536 Tests: 34 Failed: 6) Failed tests: 26-28, 32-34 Non-zero exit status: 6 Files=17, Tests=243, 171 wallclock secs ( 0.05 usr + 0.03 sys = 0.08 + CPU) Result: FAIL Failed 1/17 test programs. 6/243 subtests failed. gmake: *** [Makefile:1033: test_dynamic] Error 255 Lockfile removed. RSCHUPP/PAR-Packer-1.050.tar.gz C:\STRAWB~1\c\bin\gmake.exe test -- NOT OK //hint// to see the cpan-testers results for installing this module, t +ry: reports RSCHUPP/PAR-Packer-1.050.tar.gz Stopping: 'install' failed for 'PAR::Packer'. Failed during this command: RSCHUPP/PAR-Packer-1.050.tar.gz : make_test NO
I looked at the "reports" and is very long and is full of what seem to be version 5.28/29/30.something and I don't know how to map that into what I should look for next or what I ought to do next. I checked at cpantesters and it didn't have any results for win64

Replies are listed 'Best First'.
Re: PAR::Packer fails to install
by GrandFather (Saint) on Sep 13, 2020 at 23:33 UTC

    Interesting. I installed PAR::Packer a couple of months ago on Windows 10 against 64 bit Strawberry Perl without trouble. I just tried installing it on a different Windows 10 machine and it failed:

    This is perl 5, version 32, subversion 0 (v5.32.0) built for MSWin32-x +64-multi-thread ... gmake[1]: Entering directory 'C:/STRAWB~1/cpan/build/PAR-Packer-1.050- +1/myldr' Makefile:870: warning: overriding recipe for target '.c.o' Makefile:340: warning: ignoring old recipe for target '.c.o' "C:\Strawberry\perl\bin\perl.exe" par_pl2c.pl my_par_pl < ..\script\pa +r.pl > my_par_pl.c gcc -c -DWIN32 -DWIN64 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPT +S -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -f +no-strict-aliasing -mms-bitfields -I"C:\STRAWB~1\perl\lib\CORE" -DL +DLIBPTHNAME=\"\" -DPARL_EXE=\"parl.exe\" -DPAR_PACKER_VERSION=\"1.050 +\" -s -O2 main.c In file included from C:/STRAWB~1/perl/lib/CORE/perl.h:6158, from main.c:2: C:/STRAWB~1/perl/lib/CORE/inline.h: In function `Perl_is_utf8_invarian +t_string_loc': C:/STRAWB~1/perl/lib/CORE/inline.h:451: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:451: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:451: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:454: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:459: warning: cast from pointer to +integer of different size gcc -c -DWIN32 -DWIN64 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPT +S -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -f +no-strict-aliasing -mms-bitfields -I"C:\STRAWB~1\perl\lib\CORE" -DL +DLIBPTHNAME=\"\" -DPARL_EXE=\"parl.exe\" -DPAR_PACKER_VERSION=\"1.050 +\" -s -O2 -DBYTEORDER=0x12345678 -DU64TYPE="unsigned long long" sha1. +c windres -i winres/pp.rc -o ppresource.coff --input-format=rc --output- +format=coff --target=pe-x86-64 C:\Perl\site\lib\auto\MinGW\bin\windres.exe: Can't detect target endia +ness and architecture. gmake[1]: *** [Makefile:880: ppresource.coff] Error 1 gmake[1]: Leaving directory 'C:/STRAWB~1/cpan/build/PAR-Packer-1.050-1 +/myldr' gmake: *** [Makefile:545: subdirs] Error 2 RSCHUPP/PAR-Packer-1.050.tar.gz C:\STRAWB~1\c\bin\gmake.exe -- NOT OK Stopping: 'install' failed for 'PAR::Packer'.

    The warning: cast from pointer to integer of different size messages look like a red flag and Can't detect target endianess and architecture. seems to be the killer. Maybe Rob will come to the rescue? In the mean time switching to a 32 bit Perl may work around the issue? I note there are passes on CPAN Testers so maybe there is a prerequisite issue of some sort?

    Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond
      Maybe Rob will come to the rescue?

      I can't reproduce GrandFather's issue on either Windows 7 or Windows 10. Could there be some interference from another (earlier ?) Strawberry installation ?

      I can, however, reproduce BernieC's issue (on Windows 10 only):
      C:\_32\comp\PAR-Packer-1.050>perl -Mblib t/20-pp.t 1..34 ok 1 - pp_hello_1 . . I will do test pp_hello_to_log_file even though it DOES NOT REALLY TES +T ANYTHING. At least it may show that the --log=cswitch does not ha +rm anything. The system cannot execute the specified program. not ok 26 - pp_hello_to_log_file # [430] # Test 26_0 The command string " a.exe " in directory C:\_32\comp\PAR- +Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp2,did not +produce :: "hello" :: # Instead, it produced :: 'a.exe' is not recognized as an internal or +external command, # operable program or batch file. :: # End of [430] results # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" hello.pl -v --log=c.txt produce a.exe? # # Failed test 'pp_hello_to_log_file # [430] # Test 26_0 The command string " a.exe " in directory C:\_32\comp\PAR- +Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp2,did not +produce :: "hello" :: # Instead, it produced :: 'a.exe' is not recognized as an internal or +external command, # operable program or batch file. :: # End of [430] results # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" hello.pl -v --log=c.txt produce a.exe? # ' # at ./automated_pp_test.pl line 8001. The system cannot execute the specified program. not ok 27 - pp_name_four_ways # amsg326: sub pp_name_four_ways: # [430] # Test 27_0 The command string " a.exe " in directory C:\_32\comp\PAR- +Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp0,did not +produce :: "hello" :: # Instead, it produced :: 'a.exe' is not recognized as an internal or +external command, # operable program or batch file. :: # End of [430] results # # Failed test 'pp_name_four_ways # amsg326: sub pp_name_four_ways: # [430] # Test 27_0 The command string " a.exe " in directory C:\_32\comp\PAR- +Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp0,did not +produce :: "hello" :: # Instead, it produced :: 'a.exe' is not recognized as an internal or +external command, # operable program or batch file. :: # End of [430] results # ' # at ./automated_pp_test.pl line 8046. The system cannot execute the specified program. not ok 28 - pp_minus_v_tests Test 28_0 # # [430] # Test 28_0 The command string " a.exe " in directory C:\_32\comp\PAR- +Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp1,did not +produce :: "hello" :: # Instead, it produced :: 'a.exe' is not recognized as an internal or +external command, # operable program or batch file. :: # End of [430] results # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" -v 1 hello.pl > v_1.txt produce a.exe? # # Failed test 'pp_minus_v_tests Test 28_0 # # [430] # Test 28_0 The command string " a.exe " in directory C:\_32\comp\PAR- +Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp1,did not +produce :: "hello" :: # Instead, it produced :: 'a.exe' is not recognized as an internal or +external command, # operable program or batch file. :: # End of [430] results # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" -v 1 hello.pl > v_1.txt produce a.exe? # ' # at ./automated_pp_test.pl line 8092. ok 29 - pp_minus_V ok 30 - pp_help_tests The system cannot execute the specified program. The system cannot execute the specified program. The system cannot execute the specified program. The system cannot execute the specified program. not ok 31 # TODO & SKIP Not yet clean The system cannot execute the specified program. C:\_32\comp\PAR-Packer-1.050\blib\script\pp: Cannot open hello.exe for + reading: No such file or directory at C:\_32\comp\PAR-Packer-1.050\b +lib\lib/PAR/Packer.pm line 1216, <DATA> line 1. not ok 32 - pp_gui_tests # amsg572: sub pp_gui_tests cannot system "c:\_64\strawb~3.0\perl\bin\ +perl.exe" "C:\_32\comp\PAR-Packer-1.050\blib\script\pp" --gui -o hell +o.exe hello.pl:Inappropriate I/O control operation: # # Failed test 'pp_gui_tests # amsg572: sub pp_gui_tests cannot system "c:\_64\strawb~3.0\perl\bin\ +perl.exe" "C:\_32\comp\PAR-Packer-1.050\blib\script\pp" --gui -o hell +o.exe hello.pl:Inappropriate I/O control operation: # ' # at ./automated_pp_test.pl line 8269. The system cannot execute the specified program. not ok 33 - pp_test_small_minus_a # [300]sub pp_test_small_minus_a: cannot copy hello.exe to C:\_32\comp +\PAR-Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp0/sub +dir1 # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" -o hello.exe -a "C:\_32\comp\PAR-Packer-1.050\con +trib\automated_pp_test\pp_switch_tests\temp0\text" hello.pl produce h +ello.exe? # # Failed test 'pp_test_small_minus_a # [300]sub pp_test_small_minus_a: cannot copy hello.exe to C:\_32\comp +\PAR-Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp0/sub +dir1 # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" -o hello.exe -a "C:\_32\comp\PAR-Packer-1.050\con +trib\automated_pp_test\pp_switch_tests\temp0\text" hello.pl produce h +ello.exe? # ' # at ./automated_pp_test.pl line 8314. The system cannot execute the specified program. not ok 34 - pp_test_large_minus_A # [430] # Test 34_0 The command string " hello.exe " in directory C:\_32\comp\ +PAR-Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp1,did +not produce :: "hello01hello02" :: # Instead, it produced :: 'hello.exe' is not recognized as an internal + or external command, # operable program or batch file. :: # End of [430] results # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" -o hello.exe -A all_text_files -a all_text_files + hello.pl produce hello.exe? # # Failed test 'pp_test_large_minus_A # [430] # Test 34_0 The command string " hello.exe " in directory C:\_32\comp\ +PAR-Packer-1.050\contrib\automated_pp_test\pp_switch_tests\temp1,did +not produce :: "hello01hello02" :: # Instead, it produced :: 'hello.exe' is not recognized as an internal + or external command, # operable program or batch file. :: # End of [430] results # # Did "c:\_64\strawb~3.0\perl\bin\perl.exe" "C:\_32\comp\PAR-Packer-1. +050\blib\script\pp" -o hello.exe -A all_text_files -a all_text_files + hello.pl produce hello.exe? # ' # at ./automated_pp_test.pl line 8359. # Looks like you failed 6 tests of 34.
      And that's about all the help you'll get from the test suite, which clobbers everything as it goes - thereby ensuring that a full diagnosis is more difficult and frustrating than it would otherwise be.
      The first 3 failures apparently expect to execute a file named "a.exe", but are unable to do that either because the executable was not created, or because it was created with a different name (or extension).
      The last 3 failures apparently expect to (respectively) open, copy and execute a file named "hello.exe" and fail because a file of that name is also unlocatable - probably for the same reason that "a.exe" could not be found.

      I'm not really familiar with either Windows 10 or PAR::Packer, as I hardly ever use either of them.
      But if someone wants to provide some directions on how the problem might be diagnosed, then I don't mind following those directions if it helps out.
      I think that if I wanted to use PAR::Packer on Windows 10 then I would just force install it (cpan -fi PAR::Packer), and be somewhat confident that it's going to be quite serviceable for general purposes.

      Cheer,
      Rob

        I have just uninstalled Strawberry Perl and reinstalled it then attempted to install PAR::Packer with:

        cpanm PAR::Packer C:\>cpanm --force PAR::Packer --> Working on PAR::Packer Fetching http://www.cpan.org/authors/id/R/RS/RSCHUPP/PAR-Packer-1.050. +tar.gz ... OK Configuring PAR-Packer-1.050 ... OK Building and testing PAR-Packer-1.050 ... FAIL ! Installing PAR::Packer failed. See C:\...\build.log for details. Ret +ry with --force to force install it.

        Using the force produced the same result. The log contents look happy until:

        gmake[1]: Entering directory 'C:/.../PAR-Packer-1.050/myldr' Makefile:870: warning: overriding recipe for target '.c.o' Makefile:340: warning: ignoring old recipe for target '.c.o' "C:\Strawberry\perl\bin\perl.exe" par_pl2c.pl my_par_pl < ..\script\pa +r.pl > my_par_pl.c gcc -c -DWIN32 -DWIN64 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPT +S -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -f +no-strict-aliasing -mms-bitfields -I"C:\STRAWB~1\perl\lib\CORE" -DL +DLIBPTHNAME=\"\" -DPARL_EXE=\"parl.exe\" -DPAR_PACKER_VERSION=\"1.050 +\" -s -O2 main.c In file included from C:/STRAWB~1/perl/lib/CORE/perl.h:6158, from main.c:2: C:/STRAWB~1/perl/lib/CORE/inline.h: In function `Perl_is_utf8_invarian +t_string_loc': C:/STRAWB~1/perl/lib/CORE/inline.h:451: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:451: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:451: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:454: warning: cast from pointer to +integer of different size C:/STRAWB~1/perl/lib/CORE/inline.h:459: warning: cast from pointer to +integer of different size gcc -c -DWIN32 -DWIN64 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPT +S -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -f +no-strict-aliasing -mms-bitfields -I"C:\STRAWB~1\perl\lib\CORE" -DL +DLIBPTHNAME=\"\" -DPARL_EXE=\"parl.exe\" -DPAR_PACKER_VERSION=\"1.050 +\" -s -O2 -DBYTEORDER=0x12345678 -DU64TYPE="unsigned long long" sha1. +c windres -i winres/pp.rc -o ppresource.coff --input-format=rc --output- +format=coff --target=pe-x86-64 C:\Perl\site\lib\auto\MinGW\bin\windres.exe: Can't detect target endia +ness and architecture. gmake[1]: *** [Makefile:880: ppresource.coff] Error 1 gmake[1]: Leaving directory 'C:/.../PAR-Packer-1.050/myldr' gmake: *** [Makefile:545: subdirs] Error 2 -> FAIL Installing PAR::Packer failed. See C:\...\build.log for detail +s. Retry with --force to force install it. 2 distributions installed

        The interesting bit seems to be

        C:\Perl\site\lib\auto\MinGW\bin\windres.exe: Can't detect target endia +ness and architecture. gmake[1]: *** [Makefile:880: ppresource.coff] Error 1
        which is related to windres -i winres/pp.rc ... --target=pe-x86-64. However pe-x86-64 doesn't seem to be a valid target on my system. windres --help reports:

        C:\Perl\site\lib\auto\MinGW\bin\windres.exe: supported targets: pe-i38 +6 pei-i386 elf32-i386 elf32-little elf32-big srec symbolsrec tekhex b +inary ihex

        I've no idea how to fix that.

        Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond
Re: PAR::Packer fails to install
by swl (Parson) on Sep 13, 2020 at 22:05 UTC

    Assuming you are using cpanm then you can add the verbose flag to see the results of all the tests.

    cpanm -v PAR::Packer

    If there is too much info there then try the --look flag with a manual build.

    cpanm --look PAR::Packer perl Makefile.PL gmake prove -Mblib -v t\20-pp.t

    Edit: And that information will help diagnose the issue and give more details when it is reported to the PAR:Packer issue tracker (see issues link at PAR::Packer).

    Edit 2: Add -v and -Mblib to prove call.

      And FWIW, it builds and tests fine for me using Strawberry perl 5.32.0, 64 bit.

Re: PAR::Packer fails to install (BernieC fails to install PAR::Packer)
by Anonymous Monk on Sep 13, 2020 at 20:48 UTC

    what to do? 1) why run t/20-pp.t verbosely and report the results 2) why install PAR::Packer and test your pp'ed program

    Any questions?

      I guess I do. I found C:\Strawberry\cpan\build\PAR-Packer-1.050-0\20pp.t, but I have no idea how to run it at all, much less verbosely.

      Sorry to be dense about this but this is the first time I've had the need to "package" a Perl program to make a self-contained executable. i thought that "PAR::Packer" was the way to do it and I was hoping it'd be all clean and easy.. :o)

A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://11121693]
Approved by marto
Front-paged by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2024-04-26 05:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found