in reply to Re^19: trying to build PAR-Packer-1.002
in thread trying to build PAR-Packer-1.002

The first hang is a timing issue - parldyn.exe is being looked for before it has actually been installed in its destination directory. By the time you get to re-run 'dmake test' it's where it needs to be and everything should be sweet.

The output that you posted looks fine execept that some of the tests are failing. File::Temp can't be found because @INC consists only of the current working directory - not sure if that indicates a PAR-Packer problem or a problem with the perl installation. (It's a pity that you re-installed Perl, as it was definitely fine before.) And PAR/Filter/PodStrip.pm can't be found because it's not yet in any of the directories listed in @INC. Again, @INC looks odd - it should contain blib.

In order to determine whether your perl installation is ok, could you build Math::FFT and see if that works ok ? If it does, then I'll have to start scratching my head as to what's suddenly started fucking up @INC in the PAR-Packer test suite. (You could try running 'dmake install' followed by 'dmake test'. That should make PAR/Filter/PodStrip.pm visible to the test suite ... but not File::Temp.) If Math::FFT does fail to build, then there's something wrong with your perl installation, and perl should be re-installed. (But show me the errors before you re-install perl.)

Cheers,
Rob
  • Comment on Re^20: trying to build PAR-Packer-1.002

Replies are listed 'Best First'.
Re^21: trying to build PAR-Packer-1.002
by rich_d_thomas (Sexton) on Mar 24, 2010 at 13:44 UTC
    Hi Rob

    I built Math::FFT and got the following output

    C:\mybuild\Math-FFT-1.28>perl Makefile.PL Set up gcc environment - 3.4.5 (mingw-vista special r3) Checking if your kit is complete... Looks good Writing Makefile for Math::FFT C:\mybuild\Math-FFT-1.28>dmake test cp FFT.pm blib\lib\Math\FFT.pm C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\Perl\lib +\ExtUtils\ typemap -typemap typemap FFT.xs > FFT.xsc && C:\Perl\bin\perl.exe -ME +xtUtils::C ommand -e "mv" -- FFT.xsc FFT.c C:/Perl/site/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRIC +T -DHAVE_D ES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CO +NTEXT -DPE RL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno +-strict-al iasing -mms-bitfields -O2 -DVERSION=\"1.28\" -DXS_VERSION=\ +"1.28\" " -IC:\Perl\lib\CORE" FFT.c C:/Perl/site/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRIC +T -DHAVE_D ES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CO +NTEXT -DPE RL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno +-strict-al iasing -mms-bitfields -O2 -DVERSION=\"1.28\" -DXS_VERSION=\ +"1.28\" " -IC:\Perl\lib\CORE" fft4g.c C:/Perl/site/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRIC +T -DHAVE_D ES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CO +NTEXT -DPE RL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno +-strict-al iasing -mms-bitfields -O2 -DVERSION=\"1.28\" -DXS_VERSION=\ +"1.28\" " -IC:\Perl\lib\CORE" arrays.c Running Mkbootstrap for Math::FFT () C:\Perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 FFT.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Math::FFT\", 'DLBASE' => 'FFT', 'DL_FUNC +S' => { } , 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" Set up gcc environment - 3.4.5 (mingw-vista special r3) dlltool --def FFT.def --output-exp dll.exp C:\Perl\site\bin\g++.exe -o blib\arch\auto\Math\FFT\FFT.dll -Wl,--base +-file -Wl, dll.base -mdll -L"C:\Perl\lib\CORE" FFT.o fft4g.o arrays.o -Wl,--image +-base,0x22 2a0000 C:\Perl\lib\CORE\perl510.lib -lkernel32 -luser32 -lgdi32 -lwin +spool -lco mdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2 +_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lmsvcrt dll.exp dlltool --def FFT.def --base-file dll.base --output-exp dll.exp C:\Perl\site\bin\g++.exe -o blib\arch\auto\Math\FFT\FFT.dll -mdll -L"C +:\Perl\lib \CORE" FFT.o fft4g.o arrays.o -Wl,--image-base,0x222a0000 C:\Perl\lib +\CORE\perl 510.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 - +lshell32 - lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion - +lodbc32 -l odbccp32 -lcomctl32 -lmsvcrt dll.exp C:\Perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 755 blib\arch\a +uto\Math\F FT\FFT.dll C:\Perl\bin\perl.exe -MExtUtils::Command -e "cp" -- FFT.bs blib\arch\a +uto\Math\F FT\FFT.bs C:\Perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 blib\arch\a +uto\Math\F FT\FFT.bs C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, ' +blib\lib', 'blib\arch')" t/*.t t/apps.t ... ok t/fft.t .... ok t/stats.t .. ok All tests successful. Files=3, Tests=48, 2 wallclock secs ( 0.11 usr + 0.02 sys = 0.13 CP +U) Result: PASS C:\mybuild\Math-FFT-1.28>dmake install Files found in blib\arch: installing files in blib\lib into architectu +re depende nt library tree Installing C:\Perl\site\lib\auto\Math\FFT\FFT.bs Installing C:\Perl\site\lib\auto\Math\FFT\FFT.dll Installing C:\Perl\html\site\lib\Math\FFT.html Installing C:\Perl\site\lib\Math\FFT.pm Appending installation info to C:\Perl\lib/perllocal.pod dmake.exe: Warning: -- Target [install] was made but the time stamp h +as not bee n updated.
    So I did dmake install for PAR-Packer and it did not throw up any errors:

    C:\mybuild\PAR-Packer-1.002>dmake install Set up gcc environment - 3.4.5 (mingw-vista special r3) dmake.exe: Warning: -- Found file corresponding to virtual target [mk +tmpdir.h]. dmake.exe: Warning: -- Found file corresponding to virtual target [mk +tmpdir.c]. dmake.exe: Warning: -- Found file corresponding to virtual target [ma +in.c]. C:\Perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\StrippedP +ARL\Static .pm');" C:\Perl\bin\perl.exe encode_append.pl static.exe ..\blib\lib\PAR\Strip +pedPARL\St atic.pm C:\Perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedP +ARL\Static .pm');" C:\Perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\StrippedP +ARL\Dynami c.pm');" C:\Perl\bin\perl.exe encode_append.pl par.exe ..\blib\lib\PAR\Stripped +PARL\Dynam ic.pm C:\Perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedP +ARL\Dynami c.pm');" Installing C:\Perl\html\bin\par.html Installing C:\Perl\html\bin\tkpp.html Installing C:\Perl\html\site\lib\pp.html Installing C:\Perl\html\site\lib\App\Packer\PAR.html Installing C:\Perl\html\site\lib\PAR\Filter.html Installing C:\Perl\html\site\lib\PAR\Packer.html Installing C:\Perl\html\site\lib\PAR\Filter\Bleach.html Installing C:\Perl\html\site\lib\PAR\Filter\Bytecode.html Installing C:\Perl\html\site\lib\PAR\Filter\Obfuscate.html Installing C:\Perl\html\site\lib\PAR\Filter\PatchContent.html Installing C:\Perl\html\site\lib\PAR\Filter\PodStrip.html Installing C:\Perl\html\site\lib\PAR\StrippedPARL\Base.html Installing C:\Perl\html\site\lib\PAR\StrippedPARL\Dynamic.html Installing C:\Perl\html\site\lib\PAR\StrippedPARL\Static.html Installing C:\Perl\site\lib\pp.pm Installing C:\Perl\site\lib\App\Packer\PAR.pm Installing C:\Perl\site\lib\PAR\Filter.pm Installing C:\Perl\site\lib\PAR\Packer.pm Installing C:\Perl\site\lib\PAR\Filter\Bleach.pm Installing C:\Perl\site\lib\PAR\Filter\Bytecode.pm Installing C:\Perl\site\lib\PAR\Filter\Obfuscate.pm Installing C:\Perl\site\lib\PAR\Filter\PatchContent.pm Installing C:\Perl\site\lib\PAR\Filter\PodStrip.pm Installing C:\Perl\site\lib\PAR\StrippedPARL\Base.pm Installing C:\Perl\site\lib\PAR\StrippedPARL\Dynamic.pm Installing C:\Perl\site\lib\PAR\StrippedPARL\Static.pm Installing C:\Perl\site\bin\par.bat Installing C:\Perl\site\bin\par.pl Installing C:\Perl\site\bin\parl.exe Installing C:\Perl\site\bin\parldyn.exe Installing C:\Perl\site\bin\pp Installing C:\Perl\site\bin\pp.bat Installing C:\Perl\site\bin\tkpp Installing C:\Perl\site\bin\tkpp.bat Appending installation info to C:\Perl\lib/perllocal.pod
    Then, dmake test did not have all those errors:

    C:\mybuild\PAR-Packer-1.002>dmake test dmake.exe: Warning: -- Found file corresponding to virtual target [mk +tmpdir.h]. dmake.exe: Warning: -- Found file corresponding to virtual target [mk +tmpdir.c]. dmake.exe: Warning: -- Found file corresponding to virtual target [ma +in.c]. C:\Perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\StrippedP +ARL\Static .pm');" C:\Perl\bin\perl.exe encode_append.pl static.exe ..\blib\lib\PAR\Strip +pedPARL\St atic.pm C:\Perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedP +ARL\Static .pm');" C:\Perl\bin\perl.exe -e "chmod(oct('0600'), '..\blib\lib\PAR\StrippedP +ARL\Dynami c.pm');" C:\Perl\bin\perl.exe encode_append.pl par.exe ..\blib\lib\PAR\Stripped +PARL\Dynam ic.pm C:\Perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedP +ARL\Dynami c.pm');" C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, ' +inc', 'bli b\lib', 'blib\arch')" t/00-pod.t t/10-parl-generation.t t/20-pp.t t/3 +0-current_ 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 ................ 31/34 Can't call method "remove" on an unde +fined valu e at C:/Perl/site/lib/Win32/Exe.pm line 220. # Failed test 'pp_gui_tests # amsg572: sub pp_gui_tests cannot system pp --gui --icon hi.ico -o he +llo.exe he llo.pl:No such file or directory: # ' t/20-pp.t ................ 32/34 # at automated_pp_test.pl line 8445 +. t/20-pp.t ................ 34/34 # Looks like you failed 1 test of 34. t/20-pp.t ................ Dubious, test returned 1 (wstat 256, 0x100) Failed 1/34 subtests t/30-current_exec.t ...... # Please wait t/30-current_exec.t ...... ok t/40-packer_cd_option.t .. ok Test Summary Report ------------------- t/20-pp.t (Wstat: 256 Tests: 34 Failed: 1) Failed test: 32 Non-zero exit status: 1 Files=5, Tests=71, 825 wallclock secs ( 0.09 usr + 0.05 sys = 0.14 C +PU) Result: FAIL Failed 1/5 test programs. 1/71 subtests failed. dmake.exe: Error code 255, while making 'test_dynamic' C:\mybuild\PAR-Packer-1.002>
    Thank you ver much for all of your assistance, I have now managed to use pp to bundle a perl script into a self extracting/executing .exe :)
      Hi Rob,

      Thank you very much for your continued help with all the problems I had ran into.

      Now that I have a working PAR-Packer, I thought I'd list all the things that I had ran into.

      Who is best placed to look at the root cause of each problem I ran into below?

      o Having to build par.exe and static.exe manually

      o Failure of t/20-pp.t test 31

      o parldyn.exe timing issue, causing hang

      o @INC only consisting of the current working directory

      Thanks again.

      Richard.

        It's just a matter of sending your report as an email to bug-PAR [at] rt.cpan.org

        I'm not sure that the problem building par.exe and static.exe are PAR-Packer bugs - but it's certainly worth mentioning. And I'm not too sure about the problem with @INC, either. It's odd that it only showed up towards the end. But definitely report it, too - and give a copy'n'paste of the 2 error messages (the one relating to File::Temp and the one relating to PAR::Filter::PodStrip).

        I think the other 2 points are PAR-Packer bugs ... but there's no guarantee I'm right about any of that :-)

        Cheers,
        Rob