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
| [reply] [d/l] [select] |
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
| [reply] [d/l] [select] |
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
| [reply] [d/l] [select] |
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.
| [reply] [d/l] [select] |
| [reply] |
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?
| [reply] |
| [reply] |