Skip Menu |

This queue is for tickets about the PAR-Packer CPAN distribution.

Report information
The Basics
Id: 57273
Status: resolved
Priority: 0/
Queue: PAR-Packer

People
Owner: Nobody in particular
Requestors: csjewell [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Error building on Strawberry 5.12.0.1 64-bit (win32.coff file format not recognized)
(5.12.0.1 is the version where the libperl511.a/perl512.dll mismatch got resolved, I was hoping that PAR::Packer would finally build once that was fixed. Guess not. It's being uploaded right now, should be available within 8 hours, I hope.) Note that the 32-bit version of this compiler understands win32.coff just fine, the failure seems to be later on there. I'm thinking we may need a win32-64bit.coff or something... Is there anything else I can do to help you fix this? CPAN.pm: Going to build R/RS/RSCHUPP/PAR-Packer-1.004.tar.gz cp lib/App/Packer/PAR.pm blib\lib\App\Packer\PAR.pm cp lib/PAR/Packer.pm blib\lib\PAR\Packer.pm cp lib/PAR/Filter/Obfuscate.pm blib\lib\PAR\Filter\Obfuscate.pm cp lib/PAR/Filter/PodStrip.pm blib\lib\PAR\Filter\PodStrip.pm cp lib/PAR/StrippedPARL/Base.pm blib\lib\PAR\StrippedPARL\Base.pm cp lib/PAR/Filter.pm blib\lib\PAR\Filter.pm cp lib/PAR/Filter/PatchContent.pm blib\lib\PAR\Filter\PatchContent.pm cp lib/PAR/StrippedPARL/Dynamic.pm blib\lib\PAR\StrippedPARL\Dynamic.pm cp lib/PAR/Filter/Bytecode.pm blib\lib\PAR\Filter\Bytecode.pm cp lib/pp.pm blib\lib\pp.pm cp lib/PAR/Filter/Bleach.pm blib\lib\PAR\Filter\Bleach.pm cp lib/PAR/StrippedPARL/Static.pm blib\lib\PAR\StrippedPARL\Static.pm C:\strawberry\perl\bin\perl.exe sha1.c.PL sha1.c gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLI CIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.ex e\" -s -O2 sha1.c sha1.c: In function 'sha_transform': sha1.c:146: warning: right shift count >= width of type C:\strawberry\perl\bin\perl.exe file2c.pl C:\strawberry\perl\bin\perl512.dll my_perl.c load_me_0 1 30000 dmake: Warning: -- Found file corresponding to virtual target [mktmpdir.h]. dmake: Warning: -- Found file corresponding to virtual target [mktmpdir.c]. dmake: Warning: -- Found file corresponding to virtual target [main.c]. gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLI CIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.ex e\" -s -O2 main.c C:\strawberry\perl\bin\perl.exe file2c.pl ..\script\par.pl my_par_pl.c load_me_2 1 gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLI CIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.ex e\" -s -O2 my_par_pl.c g++ main.o my_par_pl.o win32.coff -s -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" C:\strawberry\perl\li b\CORE\libperl512.a C:\strawberry\c\x86_64-w64-mingw32\lib\libmoldname.a C:\strawberry\c\x86_64-w64-mingw32\lib\libkerne l32.a C:\strawberry\c\x86_64-w64-mingw32\lib\libuser32.a C:\strawberry\c\x86_64-w64-mingw32\lib\libgdi32.a C:\strawberry \c\x86_64-w64-mingw32\lib\libwinspool.a C:\strawberry\c\x86_64-w64-mingw32\lib\libcomdlg32.a C:\strawberry\c\x86_64-w64- mingw32\lib\libadvapi32.a C:\strawberry\c\x86_64-w64-mingw32\lib\libshell32.a C:\strawberry\c\x86_64-w64-mingw32\lib\lib ole32.a C:\strawberry\c\x86_64-w64-mingw32\lib\liboleaut32.a C:\strawberry\c\x86_64-w64-mingw32\lib\libnetapi32.a C:\str awberry\c\x86_64-w64-mingw32\lib\libuuid.a C:\strawberry\c\x86_64-w64-mingw32\lib\libws2_32.a C:\strawberry\c\x86_64-w64 -mingw32\lib\libmpr.a C:\strawberry\c\x86_64-w64-mingw32\lib\libwinmm.a C:\strawberry\c\x86_64-w64-mingw32\lib\libversio n.a C:\strawberry\c\x86_64-w64-mingw32\lib\libodbc32.a C:\strawberry\c\x86_64-w64-mingw32\lib\libodbccp32.a C:\strawberr y\c\x86_64-w64-mingw32\lib\libcomctl32.a -o par.exe win32.coff: file not recognized: File format not recognized collect2: ld returned 1 exit status dmake: Error code 129, while making 'par.exe' dmake.EXE: Error code 255, while making 'subdirs' RSCHUPP/PAR-Packer-1.004.tar.gz C:\strawberry\c\bin\dmake.EXE -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible C:\Users\Curtis>perl -V Summary of my perl5 (revision 5 version 12 subversion 0) configuration: Platform: osname=MSWin32, osvers=6.1, archname=MSWin32-x64-multi-thread uname='Win32 strawberryperl 5.12.0.1 #1 Thu May 6 16:10:36 2010 x64' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CO NTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.4.3', gccosandvers='' intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"' libpth=C:\strawberry\c\lib C:\strawberry\c\x86_64-w64-mingw32\lib libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lneta pi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl512.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_SITECUSTOMIZE Built under MSWin32 Compiled at May 6 2010 16:19:55 @INC: C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib C:/strawberry/perl/lib . C:\Users\Curtis>gcc -v Using built-in specs. Target: x86_64-w64-mingw32 Configured with: ../gcc44-svn/configure --target=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --disable-multilib --disab le-nls --disable-win32-registry --prefix=/mingw64 --with-gmp=/mingw64 --with-mpfr=/mingw64 --enable-languages=c,c++ Thread model: win32 gcc version 4.4.3 (GCC)
From: vvm [...] tut.by
On Fri May 07 01:00:10 2010, CSJEWELL wrote: Show quoted text
> win32.coff: file not recognized: File format not recognized > collect2: ld returned 1 exit status > dmake: Error code 129, while making 'par.exe' > dmake.EXE: Error code 255, while making 'subdirs' > RSCHUPP/PAR-Packer-1.004.tar.gz > C:\strawberry\c\bin\dmake.EXE -- NOT OK
See: http://www.mail-archive.com/win32-vanilla@perl.org/msg00312.html == Hi! HowTo: Strawberry Perl v5.12.3 x64 and PAR-Packer http://vvm.blog.tut.by/2011/06/13/howto-strawberry-perl-v5-12-3-x64-and- par-packer/ == . . . See: http://news.tcx.org.uk/msg/4D93C148.1060301@znix.com === . . . For fix this issue: == win32.coff: file not recognized: File format not recognized == . . . The zip http://www.wxperl.co.uk/ppamd64_resource.zip Contains objects that can be unzipped into the current PAR::Packer source in the directory myldr. You want the contained win32.coff / win32.obj to replace the originals. Should then compile OK on Strawberry. . . . === Download: http://www.wxperl.co.uk/ppamd64_resource.zip Unpack from "ppamd64_resource.zip" == win32.coff win32.obj win32.res win32.manifest win32.rc win32.ico == to C:\strawberry\cpanplus\5.12.3\build\PAR-Packer-1.009\myldr Run cpanp i . Screenshot: === . . . 0-current_exec.t t/40-packer_cd_option.t t/90-rt59710.t t/00-pod.t ............... skipped: Set environment variable PERL_TEST_POD=1 to test POD t/10-parl-generation.t ... ok The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.e xe tool for more detail. C:\strawberry\cpanplus\5.12.3\build\PAR-Packer-1.009\blib\script/pp: Cannot open hello.exe for reading: No such file or directory at C:\strawberry\cpanplus\5.12 .3\build\PAR-Packer-1.009\blib\lib/PAR/Packer.pm line 1172. # Failed test 'pp_gui_tests # amsg572: sub pp_gui_tests cannot system pp --gui --icon hi.ico -o hello.exe hello.pl:No such file or directory: # ' # at automated_pp_test.pl line 8445. # Looks like you failed 1 test of 34. t/20-pp.t ................ Dubious, test returned 1 (wstat 256, 0x100) Failed 1/34 subtests # Please wait t/30-current_exec.t ...... ok t/40-packer_cd_option.t .. ok t/90-rt59710.t ........... ok Test Summary Report ------------------- t/20-pp.t (Wstat: 256 Tests: 34 Failed: 1) Failed test: 32 Non-zero exit status: 1 Files=6, Tests=74, 2506 wallclock secs ( 0.09 usr + 0.05 sys = 0.14 CPU) Result: FAIL Failed 1/6 test programs. 1/74 subtests failed. dmake.EXE: Error code 255, while making 'test_dynamic' The tests for 'PAR::Packer' failed. Would you like me to proceed anyway or should we abort? Proceed anyway? [y/N]: y *** Install log written to: C:\strawberry\cpanplus\install-logs\PAR-Packer-1.009-1307954507.log Module 'PAR::Packer' installed successfully . . . === . . . == Best regards, Victor Miasnikov Blog: http://vvm.blog.tut.by/ ==
On 2011-06-13 05:58:06, vvm wrote: Show quoted text
> t/10-parl-generation.t ... ok > The application has failed to start because its side-by-side > configuration is incorrect. Please see the application event log or use > the command-line sxstrace.e > xe tool for more detail. > C:\strawberry\cpanplus\5.12.3\build\PAR-Packer-1.009\blib\script/pp: > Cannot open hello.exe for reading: No such file or directory at > C:\strawberry\cpanplus\5.12 > .3\build\PAR-Packer-1.009\blib\lib/PAR/Packer.pm line 1172. > > # Failed test 'pp_gui_tests > # amsg572: sub pp_gui_tests cannot system pp --gui --icon hi.ico -o > hello.exe hello.pl:No such file or directory: > # ' > # at automated_pp_test.pl line 8445. > # Looks like you failed 1 test of 34.
Please attach the output of a clean build after overwriting myldr/win32.* with the stuff in ppamd64_resource.zip Cheers, Roderich
From: vvm [...] tut.by
On Mon Jun 27 07:26:15 2011, RSCHUPP wrote: Show quoted text
> On 2011-06-13 05:58:06, vvm wrote:
> > # Looks like you failed 1 test of 34.
> > Please attach the output of a clean build after overwriting > myldr/win32.* with the stuff in ppamd64_resource.zip >
Not shue, what this is "output of a clean build" . . .
Subject: PAR-Packer-1.009-1307954507.log
Download PAR-Packer-1.009-1307954507.log
application/octet-stream 7.9k

Message body not shown because it is not plain text.

From: vvm [...] tut.by
On Mon Jun 27 07:26:15 2011, RSCHUPP wrote: Show quoted text
> On 2011-06-13 05:58:06, vvm wrote: > build after > overwriting myldr/win32.* with the stuff in ppamd64_resource.zip
I'm try "Method N2": simply "Turn off use win32.coff" Short: == #### Patch data follows #### diff -c "C:\strawberry\cpanplus -VVM\00_--_PAR-Packer-1.009 \myldr\Makefile.PL" "C:\strawberry\cpanplus\5.12.3\build\PAR-Packer- 1.009\myldr\Makefile.PL" Index: ./myldr/Makefile.PL *** ./myldr/Makefile.PL Tue Mar 22 19:53:31 2011 --- ./myldr/Makefile.PL Tue Jun 14 16:49:32 2011 *************** *** 104,110 **** $ccdebug = $debug ? '-g ' : ''; $lddebug = ($debug or $^O eq 'darwin') ? '' : '-s '; $warn = $debug ? '-Wall -Wno-comments ' : ''; ! $res = ($^O =~ /^(?:MSWin|cygwin)/) ? 'win32.coff' : ''; $long_literal = '-l'; $mt_cmd = '-$(NOOP)'; } else { --- 104,111 ---- $ccdebug = $debug ? '-g ' : ''; $lddebug = ($debug or $^O eq 'darwin') ? '' : '-s '; $warn = $debug ? '-Wall -Wno-comments ' : ''; ! $res = ''; # VVM ! # $res = ($^O =~ /^(?:MSWin|cygwin)/) ? 'win32.coff' : ''; $long_literal = '-l'; $mt_cmd = '-$(NOOP)'; } else { #### End of Patch data #### == == cd C:\strawberry\cpanplus\5.12.3\build\PAR-Packer-1.009 dmake.EXE test UNINST=1 . . . t/10-parl-generation.t ... ok t/20-pp.t ................ ok t/30-current_exec.t ...... # Please wait t/30-current_exec.t ...... ok t/40-packer_cd_option.t .. ok t/90-rt59710.t ........... ok All tests successful. == and see attached files
Subject: PAR-Packer-1.009.patch
# Turn off use win32.coff # # To apply this patch: # STEP 1: Chdir to the source directory. # STEP 2: Run the 'applypatch' program with this patch file as input. # # If you do not have 'applypatch', it is part of the 'makepatch' package # that you can fetch from the Comprehensive Perl Archive Network: # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz # In the above URL, 'x' should be 2 or higher. # # To apply this patch without the use of 'applypatch': # STEP 1: Chdir to the source directory. # STEP 2: Run the 'patch' program with this file as input. # #### End of Preamble #### #### Patch data follows #### diff -c "C:\strawberry\cpanplus -VVM\00_--_PAR-Packer-1.009\myldr\Makefile.PL" "C:\strawberry\cpanplus\5.12.3\build\PAR-Packer-1.009\myldr\Makefile.PL" Index: ./myldr/Makefile.PL *** ./myldr/Makefile.PL Tue Mar 22 19:53:31 2011 --- ./myldr/Makefile.PL Tue Jun 14 16:49:32 2011 *************** *** 104,110 **** $ccdebug = $debug ? '-g ' : ''; $lddebug = ($debug or $^O eq 'darwin') ? '' : '-s '; $warn = $debug ? '-Wall -Wno-comments ' : ''; ! $res = ($^O =~ /^(?:MSWin|cygwin)/) ? 'win32.coff' : ''; $long_literal = '-l'; $mt_cmd = '-$(NOOP)'; } else { --- 104,111 ---- $ccdebug = $debug ? '-g ' : ''; $lddebug = ($debug or $^O eq 'darwin') ? '' : '-s '; $warn = $debug ? '-Wall -Wno-comments ' : ''; ! $res = ''; # VVM ! # $res = ($^O =~ /^(?:MSWin|cygwin)/) ? 'win32.coff' : ''; $long_literal = '-l'; $mt_cmd = '-$(NOOP)'; } else { #### End of Patch data #### #### ApplyPatch data follows #### # Data version : 1.0 # Date generated : Tue Jun 14 16:59:06 2011 # Generated by : makepatch 2.04 # Recurse directories : Yes # Excluded files : (\A|/).*\~\Z # (\A|/).*\.a\Z # (\A|/).*\.bak\Z # (\A|/).*\.BAK\Z # (\A|/).*\.elc\Z # (\A|/).*\.exe\Z # (\A|/).*\.gz\Z # (\A|/).*\.ln\Z # (\A|/).*\.o\Z # (\A|/).*\.obj\Z # (\A|/).*\.olb\Z # (\A|/).*\.old\Z # (\A|/).*\.orig\Z # (\A|/).*\.rej\Z # (\A|/).*\.so\Z # (\A|/).*\.Z\Z # (\A|/)\.del\-.*\Z # (\A|/)\.make\.state\Z # (\A|/)\.nse_depinfo\Z # (\A|/)core\Z # (\A|/)tags\Z # (\A|/)TAGS\Z # p "myldr/Makefile.PL" 10179 1308059372 0100666 #### End of ApplyPatch data #### #### End of Patch kit [created: Tue Jun 14 16:59:06 2011] #### #### Patch checksum: 56 2184 611 #### #### Checksum: 74 2829 54096 ####
Subject: PAR-Packer.yml
--- comment: | PAR::Packer needs a patch to install in gcc4 Strawberry Perl x64 ( but patch Ok and for x86) match: distribution: | ^(?x: .^ # never matches, only purpose is to let things align nicely |RSCHUPP/PAR-Packer-1.009.tar.gz # Needs a patch to install. )| patches: - "PAR-Packer-1.009.patch"
Subject: PAR-Packer-1.009 dmake test.log
Download PAR-Packer-1.009 dmake test.log
application/octet-stream 760b

Message body not shown because it is not plain text.

On 2011-06-28 10:31:49, vvm wrote: Show quoted text
> Not shue, what this is "output of a clean build" . . .
It's the log you attached :) But nothing suspicious there...
On 2011-06-28 10:53:31, vvm wrote: Show quoted text
> I'm try "Method N2": simply "Turn off use win32.coff"
Unfortunately "Method N2" breaks PAR::Packer on 32-bit Windows systems - the same test that fails on 64 bit _with_ win32.coff now fails on 32 bit _without_ win32.coff. Cheers, Roderich
From: vvm [...] tut.by
On Wed Jun 29 08:54:45 2011, RSCHUPP wrote: Show quoted text
> On 2011-06-28 10:53:31, vvm wrote:
> > I'm try "Method N2": simply "Turn off use win32.coff"
> Unfortunately "Method N2" breaks PAR::Packer on 32-bit Windows
=> Idea: need implement this ( or like this) algoritm if x86 $res = ($^O =~ /^(?:MSWin|cygwin)/) ? 'win32.coff' : ''; elsif x64 $res = ($^O =~ /^(?:MSWin|cygwin)/) ? 'win64.coff' : ''; end if
Fixed in PAR::Packer 1.010