Skip Menu |

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

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

People
Owner: RSCHUPP [...] cpan.org
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 32-bit (can't find script/parl.exe)
Reporting a build error - what can I 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 -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CON TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READF IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -s -O2 sha1.c 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 -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CON TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READF IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -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 -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CON TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READF IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -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\lib\CORE\libperl512.a C:\strawberry\c\i686 -w64-mingw32\lib\libmoldname.a C:\strawberry\c\i686-w64-mingw32\lib\libkernel32. a C:\strawberry\c\i686-w64-mingw32\lib\libuser32.a C:\strawberry\c\i686-w64-ming w32\lib\libgdi32.a C:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a C:\strawbe rry\c\i686-w64-mingw32\lib\libcomdlg32.a C:\strawberry\c\i686-w64-mingw32\lib\li badvapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libshell32.a C:\strawberry\c\i6 86-w64-mingw32\lib\libole32.a C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a C:\strawberry\c\i686-w64-mingw32\lib\libnetapi32.a C:\strawberry\c\i686-w64-min gw32\lib\libuuid.a C:\strawberry\c\i686-w64-mingw32\lib\libws2_32.a C:\strawberr y\c\i686-w64-mingw32\lib\libmpr.a C:\strawberry\c\i686-w64-mingw32\lib\libwinmm. a C:\strawberry\c\i686-w64-mingw32\lib\libversion.a C:\strawberry\c\i686-w64-min gw32\lib\libodbc32.a C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a C:\straw berry\c\i686-w64-mingw32\lib\libcomctl32.a -o par.exe C:\strawberry\perl\bin\perl.exe -e1 C:\strawberry\perl\bin\perl.exe file2c.pl par.exe my_par.c load_me_1 1 30000 gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CON TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READF IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -s -O2 static.c static.c: In function 'main': static.c:106: warning: passing argument 3 of 'spawnvpe' from incompatible pointe r type c:\strawberry\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw 32/include/process.h:169: note: expected 'char * const*' but argument is of type 'const char * const*' static.c:106: warning: passing argument 4 of 'spawnvpe' from incompatible pointe r type c:\strawberry\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw 32/include/process.h:169: note: expected 'char * const*' but argument is of type 'const char * const*' g++ static.o -s -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" C: \strawberry\perl\lib\CORE\libperl512.a C:\strawberry\c\i686-w64-mingw32\lib\libm oldname.a C:\strawberry\c\i686-w64-mingw32\lib\libkernel32.a C:\strawberry\c\i68 6-w64-mingw32\lib\libuser32.a C:\strawberry\c\i686-w64-mingw32\lib\libgdi32.a C: \strawberry\c\i686-w64-mingw32\lib\libwinspool.a C:\strawberry\c\i686-w64-mingw3 2\lib\libcomdlg32.a C:\strawberry\c\i686-w64-mingw32\lib\libadvapi32.a C:\strawb erry\c\i686-w64-mingw32\lib\libshell32.a C:\strawberry\c\i686-w64-mingw32\lib\li bole32.a C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a C:\strawberry\c\i686 -w64-mingw32\lib\libnetapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libuuid.a C: \strawberry\c\i686-w64-mingw32\lib\libws2_32.a C:\strawberry\c\i686-w64-mingw32\ lib\libmpr.a C:\strawberry\c\i686-w64-mingw32\lib\libwinmm.a C:\strawberry\c\i68 6-w64-mingw32\lib\libversion.a C:\strawberry\c\i686-w64-mingw32\lib\libodbc32.a C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a C:\strawberry\c\i686-w64-ming w32\lib\libcomctl32.a win32.coff -o static.exe C:\strawberry\perl\bin\perl.exe -e1 C:\strawberry\perl\bin\perl.exe parlsig.pl static.exe par.exe 1 30000 C:\strawberry\perl\bin\perl.exe run_with_inc.pl static.exe -I../myldr/.. -I../bl ib/lib -q -B -O..\script\parl.exe C:\strawberry\perl\bin\perl.exe run_with_inc.pl par.exe -I./myldr/.. -I../blib/l ib -q -B -O..\script\parldyn.exe C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\Stripped PARL\Static.pm');" C:\strawberry\perl\bin\perl.exe encode_append.pl static.exe ..\blib\lib\PAR\Stri ppedPARL\Static.pm C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\Stripped PARL\Static.pm');" C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\Stripped PARL\Dynamic.pm');" C:\strawberry\perl\bin\perl.exe encode_append.pl par.exe ..\blib\lib\PAR\Strippe dPARL\Dynamic.pm C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\Stripped PARL\Dynamic.pm');" C:\strawberry\perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- script/pa rldyn.exe blib\script\parldyn.exe dmake.EXE: Error: -- `script\parl.exe' not found, and can't be made 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:\Documents and Settings\Administrator>perl -V Summary of my perl5 (revision 5 version 12 subversion 0) configuration: Platform: osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread uname='Win32 strawberryperl 5.12.0.1 #1 Thu May 6 16:09:27 2010 i386' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE - DPERL_IMPLICIT_CONTEXT -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=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseek size=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\li b"' libpth=C:\strawberry\c\lib C:\strawberry\c\i686-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 -ladva pi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lver sion -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:\st rawberry\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_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_SITECUSTOMIZE Built under MSWin32 Compiled at May 6 2010 16:31:59 @INC: C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib C:/strawberry/perl/lib . C:\Documents and Settings\Administrator>gcc -v Using built-in specs. Target: i686-w64-mingw32 Configured with: ../gcc44-svn/configure --target=i686-w64-mingw32 --host=i686-w6 4-mingw32 --disable-multilib --disable-nls --disable-win32-registry --prefix=/mi ngw32 --with-gmp=/mingw32 --with-mpfr=/mingw32 --enable-languages=c,c++ Thread model: win32 gcc version 4.4.3 (GCC)
CC: par [...] perl.org
Subject: Re: [rt.cpan.org #57272] Error building on Strawberry 5.12.0.1 32-bit (can't find script/parl.exe)
Date: Fri, 07 May 2010 22:33:28 +0100
To: bug-PAR-Packer [...] rt.cpan.org
From: Mark Dootson <mark.dootson [...] znix.com>
Hi, Just a thought, but I get this error on ActivePerl due to Norton AntiVirus. With NAV switched off, it works for me. Could be your AntiVirus prog? Mark On 07/05/2010 02:42, Curtis Jewell via RT wrote: Show quoted text
> Thu May 06 21:42:10 2010: Request 57272 was acted upon. > Transaction: Ticket created by CSJEWELL > Queue: PAR-Packer > Subject: Error building on Strawberry 5.12.0.1 32-bit (can't find > script/parl.exe) > Broken in: (no value) > Severity: Important > Owner: Nobody > Requestors: csjewell@cpan.org > Status: new > Ticket<URL: https://rt.cpan.org/Ticket/Display.html?id=57272> > > > Reporting a build error - what can I 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 -DUSE_SITECUSTOMIZE > -DPERL_IMPLICIT_CON > TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields > -DPERL_MSVCRT_READF > IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -s -O2 sha1.c > 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 -DUSE_SITECUSTOMIZE > -DPERL_IMPLICIT_CON > TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields > -DPERL_MSVCRT_READF > IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -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 -DUSE_SITECUSTOMIZE > -DPERL_IMPLICIT_CON > TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields > -DPERL_MSVCRT_READF > IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -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\lib\CORE\libperl512.a > C:\strawberry\c\i686 > -w64-mingw32\lib\libmoldname.a > C:\strawberry\c\i686-w64-mingw32\lib\libkernel32. > a C:\strawberry\c\i686-w64-mingw32\lib\libuser32.a > C:\strawberry\c\i686-w64-ming > w32\lib\libgdi32.a C:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a > C:\strawbe > rry\c\i686-w64-mingw32\lib\libcomdlg32.a > C:\strawberry\c\i686-w64-mingw32\lib\li > badvapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libshell32.a > C:\strawberry\c\i6 > 86-w64-mingw32\lib\libole32.a > C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a > C:\strawberry\c\i686-w64-mingw32\lib\libnetapi32.a > C:\strawberry\c\i686-w64-min > gw32\lib\libuuid.a C:\strawberry\c\i686-w64-mingw32\lib\libws2_32.a > C:\strawberr > y\c\i686-w64-mingw32\lib\libmpr.a > C:\strawberry\c\i686-w64-mingw32\lib\libwinmm. > a C:\strawberry\c\i686-w64-mingw32\lib\libversion.a > C:\strawberry\c\i686-w64-min > gw32\lib\libodbc32.a C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a > C:\straw > berry\c\i686-w64-mingw32\lib\libcomctl32.a -o par.exe > C:\strawberry\perl\bin\perl.exe -e1 > C:\strawberry\perl\bin\perl.exe file2c.pl par.exe my_par.c load_me_1 1 30000 > gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE > -DPERL_IMPLICIT_CON > TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields > -DPERL_MSVCRT_READF > IX -I"C:\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.exe\" -s -O2 static.c > static.c: In function 'main': > static.c:106: warning: passing argument 3 of 'spawnvpe' from > incompatible pointe > r type > c:\strawberry\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw > 32/include/process.h:169: note: expected 'char * const*' but argument is > of type > 'const char * const*' > static.c:106: warning: passing argument 4 of 'spawnvpe' from > incompatible pointe > r type > c:\strawberry\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw > 32/include/process.h:169: note: expected 'char * const*' but argument is > of type > 'const char * const*' > g++ static.o -s -s -L"C:\strawberry\perl\lib\CORE" > -L"C:\strawberry\c\lib" C: > \strawberry\perl\lib\CORE\libperl512.a > C:\strawberry\c\i686-w64-mingw32\lib\libm > oldname.a C:\strawberry\c\i686-w64-mingw32\lib\libkernel32.a > C:\strawberry\c\i68 > 6-w64-mingw32\lib\libuser32.a > C:\strawberry\c\i686-w64-mingw32\lib\libgdi32.a C: > \strawberry\c\i686-w64-mingw32\lib\libwinspool.a > C:\strawberry\c\i686-w64-mingw3 > 2\lib\libcomdlg32.a C:\strawberry\c\i686-w64-mingw32\lib\libadvapi32.a > C:\strawb > erry\c\i686-w64-mingw32\lib\libshell32.a > C:\strawberry\c\i686-w64-mingw32\lib\li > bole32.a C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a > C:\strawberry\c\i686 > -w64-mingw32\lib\libnetapi32.a > C:\strawberry\c\i686-w64-mingw32\lib\libuuid.a C: > \strawberry\c\i686-w64-mingw32\lib\libws2_32.a > C:\strawberry\c\i686-w64-mingw32\ > lib\libmpr.a C:\strawberry\c\i686-w64-mingw32\lib\libwinmm.a > C:\strawberry\c\i68 > 6-w64-mingw32\lib\libversion.a > C:\strawberry\c\i686-w64-mingw32\lib\libodbc32.a > C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a > C:\strawberry\c\i686-w64-ming > w32\lib\libcomctl32.a win32.coff -o static.exe > C:\strawberry\perl\bin\perl.exe -e1 > C:\strawberry\perl\bin\perl.exe parlsig.pl static.exe par.exe 1 30000 > C:\strawberry\perl\bin\perl.exe run_with_inc.pl static.exe -I../myldr/.. > -I../bl > ib/lib -q -B -O..\script\parl.exe > C:\strawberry\perl\bin\perl.exe run_with_inc.pl par.exe -I./myldr/.. > -I../blib/l > ib -q -B -O..\script\parldyn.exe > C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0600'), > '..\blib\lib\PAR\Stripped > PARL\Static.pm');" > C:\strawberry\perl\bin\perl.exe encode_append.pl static.exe > ..\blib\lib\PAR\Stri > ppedPARL\Static.pm > C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0444'), > '..\blib\lib\PAR\Stripped > PARL\Static.pm');" > C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0600'), > '..\blib\lib\PAR\Stripped > PARL\Dynamic.pm');" > C:\strawberry\perl\bin\perl.exe encode_append.pl par.exe > ..\blib\lib\PAR\Strippe > dPARL\Dynamic.pm > C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0444'), > '..\blib\lib\PAR\Stripped > PARL\Dynamic.pm');" > C:\strawberry\perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- > script/pa > rldyn.exe blib\script\parldyn.exe > dmake.EXE: Error: -- `script\parl.exe' not found, and can't be made > 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:\Documents and Settings\Administrator>perl -V > Summary of my perl5 (revision 5 version 12 subversion 0) configuration: > > Platform: > osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread > uname='Win32 strawberryperl 5.12.0.1 #1 Thu May 6 16:09:27 2010 i386' > config_args='undef' > hint=recommended, useposix=true, d_sigaction=undef > useithreads=define, usemultiplicity=define > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=undef, use64bitall=undef, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT > -DUSE_SITECUSTOMIZE - > DPERL_IMPLICIT_CONTEXT -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=4, doublesize=8, byteorder=1234 > d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long > long', lseek > size=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" > -L"C:\strawberry\c\li > b"' > libpth=C:\strawberry\c\lib C:\strawberry\c\i686-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 -ladva > pi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr > -lwinmm -lver > sion -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:\st > rawberry\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_ITHREADS > USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF > USE_SITECUSTOMIZE > Built under MSWin32 > Compiled at May 6 2010 16:31:59 > @INC: > C:/strawberry/perl/site/lib > C:/strawberry/perl/vendor/lib > C:/strawberry/perl/lib > . > > C:\Documents and Settings\Administrator>gcc -v > Using built-in specs. > Target: i686-w64-mingw32 > Configured with: ../gcc44-svn/configure --target=i686-w64-mingw32 > --host=i686-w6 > 4-mingw32 --disable-multilib --disable-nls --disable-win32-registry > --prefix=/mi > ngw32 --with-gmp=/mingw32 --with-mpfr=/mingw32 --enable-languages=c,c++ > Thread model: win32 > gcc version 4.4.3 (GCC) > >
On Fri May 07 17:34:10 2010, mark.dootson@znix.com wrote: Show quoted text
> Hi, > > Just a thought, but I get this error on ActivePerl due to Norton > AntiVirus. With NAV switched off, it works for me. Could be your > AntiVirus prog? > > Mark
The answer to this question is: WHAT AntiVirus program? This test was running in a Windows XP VM that I just created 2 days ago, and my memory isn't that bad that I'd not remember installing an AV program. I'll try again in a bit, however.
The earlier problem must have been a blip (sorry for the aggressive reporting), but it was a blip hiding a test issue: ----- Output shown below, then explanation of problem: C:\Documents and Settings\Administrator>cpanp install PAR::Packer Installing PAR::Packer (1.004) ==> MISSING Signature file! <== Running [C:\sbtest\perl\bin\perl.exe C:\sbtest\perl\bin\cpanp-run-perl C:\cpanpl us\5.12.0\build\PAR-Packer-1.004\Makefile.PL]... Writing Makefile for the par.exe program Writing Makefile for PAR::Packer Running [C:\sbtest\c\bin\dmake.EXE test UNINST=1]... 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]. C:\sbtest\perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\StrippedPARL \Static.pm');" C:\sbtest\perl\bin\perl.exe encode_append.pl static.exe ..\blib\lib\PAR\Stripped PARL\Static.pm C:\sbtest\perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedPARL \Static.pm');" C:\sbtest\perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\StrippedPARL \Dynamic.pm');" C:\sbtest\perl\bin\perl.exe encode_append.pl par.exe ..\blib\lib\PAR\StrippedPAR L\Dynamic.pm C:\sbtest\perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedPARL \Dynamic.pm');" C:\sbtest\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc ', 'blib\lib', 'blib\arch')" t/00-pod.t t/10-parl-generation.t t/20-pp.t t/30-c urrent_exec.t t/40-packer_cd_option.t t/00-pod.t ............... skipped: Set environment variable PERL_TEST_POD=1 to test POD t/10-parl-generation.t ... ok t/20-pp.t ................ ok t/30-current_exec.t ...... # Please wait t/30-current_exec.t ...... 2/4 # Failed test 'Found the same file via PATH and full path' t/30-current_exec.t ...... 3/4 # at t/30-current_exec.t line 52. # got: '' # expected: '0 = C:\cpanplus\5.12.0\build\PAR-Packer-1.004\t\test-10.exec # PAR_PROGNAME = C:\cpanplus\5.12.0\build\PAR-Packer-1.004\t\test-10.exec # PAR_TEMP = C:/cpanplus/5.12.0/build/PAR-Packer-1.004/t-tmp\par-Administrator\c ache-a7d5ca1281ce1a7972442548ae990f998f8eb7e6 # exec = # ' # Looks like you failed 1 test of 4. t/30-current_exec.t ...... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/4 subtests (less 1 skipped subtest: 2 okay) t/40-packer_cd_option.t .. ok Test Summary Report ------------------- t/30-current_exec.t (Wstat: 256 Tests: 4 Failed: 1) Failed test: 3 Non-zero exit status: 1 Files=5, Tests=71, 2608 wallclock secs ( 0.13 usr + 0.06 sys = 0.19 CPU) Result: FAIL Failed 1/5 test programs. 1/71 subtests failed. dmake.EXE: Error code 255, while making 'test_dynamic' [ERROR] MAKE TEST failed: No such file or directory The tests for 'PAR::Packer' failed. Would you like me to proceed anyway or shoul d we abort? Proceed anyway? [y/N]: n [ERROR] Unable to create a new distribution object for 'PAR::Packer' -- cannot c ontinue [ERROR] IPC::Run version '0.55' is required on MSWin32 in order to capture buffe rs. The logfile generated may not contain any useful data, until it is installed *** Install log written to: C:\cpanplus\install-logs\PAR-Packer-1.004-1273342072.log Error installing 'PAR::Packer' Problem installing one or more modules ------ The problem is that gcc 4.x-compiled versions of Perl on Win32, including 5.12+ and greater versions of Strawberry Perl, have to use a gcc exception-handling DLL. Even the otherwise-static lib\core\libperl512.a has code that uses this dll, if I'm not mistaken. Since this DLL is not copied into your packed executable's directory by default (It's in Strawberry's path, but I assume the path is cleared for testing purposes, or something of the like) a dialog box comes up saying that the exception-handling DLL could not be found during the testing. (See perl-5.12.0/win32/makefile.mk as for possible names of the .dll - in Strawberry's case, we use libgcc_s_sjlj-1.dll.) This isn't neccessarily a problem, other than: 1) The fact that "-l C:\strawberry\perl\bin\libgcc_s_sjlj-1.dll" needs to be part of the command line on Strawberry Perl for packing executables needs to be documented, both in Strawberry's release notes (which I'm doing right now) and PAR::Packer's documentation, and 2) The test in question needs to verify that the file exists, and then add that option - or be TODO'd or SKIPped. The pp script *may* want to implicitly add this file under the correct conditions, as well, or *may* want to error-out saying that the user needs to explicitly add this option.
On Sat May 08 15:00:13 2010, CSJEWELL wrote: Show quoted text
> The earlier problem must have been a blip (sorry for the aggressive > reporting), but it was a blip hiding a test issue:
... Show quoted text
> The problem is that gcc 4.x-compiled versions of Perl on Win32, > including 5.12+ and greater versions of Strawberry Perl, have to use a > gcc exception-handling DLL. Even the otherwise-static > lib\core\libperl512.a has code that uses this dll, if I'm not mistaken.
Is that DLL needed for _every_ gcc compiled executable? Note that a pp-packed executable is actually a stub with a PAR archive tacked on. The stub itself is an executable built by PAR::Packer. It contains another executable which is a special purpose Perl interpreter; this executable is extracted by the stub (along with some DLLs and core Perl modules) into a temporary directory and then run. If the sub itself needs the DLL that means you can't execute the stub on a machine that hasn't the DLL installed (and there's no workaround, sorry). OTOH, if the stub runs fine and it's just the extracted Perl interpreter that needs the DLL then adding the DLL to the pp command line will do the trick. I'd prefer to do that automatically, if someone can tell me how to find out whether the Perl running the pp script is actually a Strawberry Perl. Cheers, Roderich
On Mon May 10 05:15:10 2010, RSCHUPP wrote: Show quoted text
> On Sat May 08 15:00:13 2010, CSJEWELL wrote:
> > The earlier problem must have been a blip (sorry for the aggressive > > reporting), but it was a blip hiding a test issue:
> ...
> > The problem is that gcc 4.x-compiled versions of Perl on Win32, > > including 5.12+ and greater versions of Strawberry Perl, have to use a > > gcc exception-handling DLL. Even the otherwise-static > > lib\core\libperl512.a has code that uses this dll, if I'm not mistaken.
> > Is that DLL needed for _every_ gcc compiled executable? > Note that a pp-packed executable is actually a stub with > a PAR archive tacked on. The stub itself is an executable built > by PAR::Packer. It contains another executable which is > a special purpose Perl interpreter; this executable is extracted > by the stub (along with some DLLs and core Perl modules) into > a temporary directory and then run.
Show quoted text
> If the sub itself needs the DLL that means you can't > execute the stub on a machine that hasn't the DLL installed > (and there's no workaround, sorry). OTOH, if the stub runs fine > and it's just the extracted Perl interpreter that needs the DLL > then adding the DLL to the pp command line will > do the trick. I'd prefer to do that automatically, if someone
It's needed for every *non-C* compiled executable or library, as far as I can tell. Perl itself includes some C++ code on Win32, (see the CPerlHost class in http://cpansearch.perl.org/src/JESSE/perl-5.12.0/win32/perlhost.h) so the library is required for it. I just checked (I had a script that I wanted to try it with) - your stubs work (I renamed the two dll copies to .old and the compiled executable still worked), but parl(dyn)?.exe needs the .dll. [I assume that parl(dyn)?.exe is your specialized perl.] So adding the .dll to the command line should make things work. Show quoted text
> can tell me how to find out whether the Perl running the pp script > is actually a Strawberry Perl.
The way to detect Strawberry itself (at least for the past 6 months) absolutely and uniquely is $Config{myuname} =~ m{\AWin32 [ ] strawberry}msx. But note that it still has to be compiled with gcc 4.x.x in order for the library to be required. While this may be unique to Strawberry 5.12.x right now, it may not be in the future, so I wouldn't go that route. The route I would go instead is to try to detect a gcc 4.x.x-compiled perl that had the library in its directory (because they'd have to include the library itself in order to run.) The rationale being along the lines of "detect the capability that Strawberry is using, rather than detecting Strawberry itself." That detection sequence would be: 1) $^] > 5.011 # They added the ability to compile w/ GCC 4.x.x for Win32 in 5.11.1, so a comparison on $^] here will short-circuit older versions quickly. Previous versions would fail miserably in 'dmake test'. 2) and 'MSWin32' eq $^O # This is true, and this library is needed, even for 64-bit versions of the Perl interpreter, as long as it runs in a Windows environment, so we aren't being more specific and using $Config{archname}. You may eventually wish to check with somebody with a Cygwin perl and gcc 4.x.x to see if they need to include a libgcc_*.so, as well. 3) and $Config{cc} =~ m{(?:[^a-z])?g(?:cc|\+\+)}imsx # To detect gcc or g++. This should work even if the host triplet is in the name. 4) and defined $Config{gccversion} and eval { $Config{gccversion} =~ m{\A(\d*) [.]}msx; my $test_gcc_version = (((defined $1) and ($1 >= 4)) ? 1 : 0); $test_gcc_version; } # to detect gcc 4.x.x or greater. 5) and a 'libgcc_*.' . $Config{so} file exists in the same directory as 'perl5*.' . $Config{so} # This step verifies that $Config isn't lying to us about #4, and is generalized so that if it turns out that Cygwin needs this, the code already supports that.) The file found in step 5 would need included. (The reason I say libgcc_* is that there are multiple options for names for this .dll that do the same functionality in different ways.) It's a long chain of conditions, but that's how I'd handle it. This would even detect self-compiled perl interpreters that would need this. --Curtis
On Mon May 10 14:44:37 2010, CSJEWELL wrote: Show quoted text
> I just checked (I had a script that I wanted to try it with) - your > stubs work (I renamed the two dll copies to .old and the compiled > executable still worked), but parl(dyn)?.exe needs the .dll. [I assume > that parl(dyn)?.exe is your specialized perl.] So adding the .dll to the > command line should make things work.
I came to the same conclusion. BTW "objdump -ax exe_or_dll" will tell you the referenced DLLs. Show quoted text
> The way to detect Strawberry itself (at least for the past 6 months) > absolutely and uniquely is $Config{myuname} =~ m{\AWin32 [ ]
strawberry}msx. Fingers crossed :) Show quoted text
> The route I would go instead is to try to detect a gcc 4.x.x-compiled > perl that had the library in its directory (because they'd have to > include the library itself in order to run.) The rationale being along > the lines of "detect the capability that Strawberry is using, rather > than detecting Strawberry itself." > > That detection sequence would be: > > 1) $^] > 5.011 > 2) and 'MSWin32' eq $^O > 3) and $Config{cc} =~ m{(?:[^a-z])?g(?:cc|\+\+)}imsx
Probably superfluous, $Config{gccversion} will tell us if the compiler was indeed gcc. Show quoted text
> 4) and defined $Config{gccversion} and eval { $Config{gccversion} =~ > m{\A(\d*) [.]}msx; my $test_gcc_version = (((defined $1) and ($1 >= 4)) > ? 1 : 0); $test_gcc_version; } > 5) and a 'libgcc_*.' . $Config{so} file exists in the same directory as > 'perl5*.' . $Config{so}
Or more generally that glob(catfile(dirname($^X), "libgcc_*$Config{so}"))) returns anything (which would indeed be the DLL to pack in). Can you try the attached patch (totally untested, since I won't have access to a machine with Strawberry on it until tonite). Cheers, Roderich
Subject: 57272.patch
--- lib/PAR/Packer.pm.orig 2010-05-11 09:35:23.000000000 +0200 +++ lib/PAR/Packer.pm 2010-05-11 10:50:24.000000000 +0200 @@ -337,6 +337,21 @@ $self->_check_perl(@$in) if (@$in); $self->_sanity_check(); } + + # On Windows try to detect a Perl that may be linked against some + # libgcc_*.dll (e.g. Strawberry Perl >= 5.12). In this case, + # chances are that parl(dyn)?.exe also will need this DLL to run. + # Hence make sure it gets packed in. + $opt->{l} ||= []; + if ($^O eq 'MSWin32' + && defined $Config{gccversion} # gcc version 4.x or above was used + && $Config{gccversion} =~ m{\A(\d+)}ms && $1 >= 4) { + # check for a libgcc_*.dll in the same directory + # as the perl executable itself + my ($libgcc) = glob(File::Spec->catfile(dirname($^X), + "libgcc_*$Config{so}")); + push @{ $opt->{l} }, $libgcc if $libgcc; + } } sub _verify_opts {
On Tue May 11 04:55:08 2010, RSCHUPP wrote: Show quoted text
> Can you try the attached patch (totally untested, since
Darn, shouldn't post untested patches :( Fixed version attached that passes all tests on Strawberry 5.12.0. Cheers, Roderich
Subject: 57272-take2.patch
--- lib/PAR/Packer.pm.orig 2010-05-11 09:35:23.000000000 +0200 +++ lib/PAR/Packer.pm 2010-05-11 10:50:24.000000000 +0200 @@ -337,6 +337,20 @@ $self->_check_perl(@$in) if (@$in); $self->_sanity_check(); } + + # On Windows try to detect a Perl that may be linked against some + # libgcc_*.dll (e.g. Strawberry Perl >= 5.12). In this case, + # chances are that parl(dyn)?.exe also will need this DLL to run. + # Hence make sure it gets packed in. + if ($^O eq 'MSWin32' + && defined $Config{gccversion} # gcc version 4.x or above was used + && $Config{gccversion} =~ m{\A(\d+)}ms && $1 >= 4) { + # check for a libgcc_*.dll in the same directory + # as the perl executable itself + my ($libgcc) = glob(File::Spec->catfile(File::Basename::dirname($^X), + "libgcc_*$Config{dlext}")); + push @{ $opt->{l} }, $libgcc if $libgcc; + } } sub _verify_opts {
Fixed in 1.005 Cheers, Roderich