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

Hi Rob

Thanks for that, I hadn't noticed that last set of errors were against static.exe instead of par.exe

Which means we are making some progress !! :)

So I did the workaround for static.exe "C:\Perl\site\bin\g++.exe static.o -L"C:\Perl\lib\CORE" C:\Perl\lib\CORE\perl510.lib -o static.exe"

Then I did dmake test, which resulted in the below. It is getting a lot further, now that I have built par.exe and static.exe the longhand way.

Here is what version of Makemaker I have

C:\mybuild\PAR-Packer-1.002>perl -MExtUtils::MakeMaker -e "print $ExtU +tils::Make Maker::VERSION Set up gcc environment - 3.4.5 (mingw-vista special r3) 6.55_02

Do you know what I can try now?

Thank you

Richard

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\Static.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\Dynamic.pm');" C:\Perl\bin\perl.exe encode_append.pl par.exe ..\blib\lib\PAR\Stripped +PARL\Dynamic.pm C:\Perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedP +ARL\Dynamic.pm');" C:\Perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- script/par +ldyn.exe blib\script\parldyn.exe C:\Perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- script/par +l.exe blib\script\parl.exe C:\Perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- script/tkp +p blib\script\tkpp pl2bat.bat blib\script\tkpp C:\Perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- script/pp +blib\script\pp pl2bat.bat blib\script\pp C:\Perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- script/par +.pl blib\script\par.pl pl2bat.bat blib\script\par.pl C:\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-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 value 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 hello.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, 811 wallclock secs ( 0.19 usr + 0.02 sys = 0.20 C +PU) Result: FAIL Failed 1/5 test programs. 1/71 subtests failed. dmake.exe: Error code 255, while making 'test_dynamic'

Replies are listed 'Best First'.
Re^16: trying to build PAR-Packer-1.002
by syphilis (Archbishop) on Mar 22, 2010 at 09:56 UTC
    It's only one test that has failed (and it fails for me, too, btw) - looks like there's a problem locating PAR-Packer-1.002\contrib\automated_pp_test\hi.ico.

    I'd be tempted to just run 'dmake install' and then start using the module and see how it goes. If you don't mess around with icon files you may well find that your PAR-Packer works perfectly well for you.
    And if the problem that caused that test failure ever does jump up and bite you, then that's probably the time to investigate further.

    One thing you could try is to open contrib/automated_pp_test.pl and change:
    my $cmd = 'pp --gui --icon hi.ico -o ' . "$hello_executable $hello_pl_ +file";
    to:
    my $cmd = 'pp --gui --icon C:/mybuild/PAR-Packer-1.002/contrib/hi.ico +-o ' . "$hello_executable $hello_pl_file";
    Then re-run 'dmake test' and see if the failing test then passes. I'll give that a go myself, when I get a chance. (All we've done is specify the full path to hi.ico.)

    I should point out (the obvious) that you shouldn't have to engage in those silly hacks that we've used to get to this point - and I'll try to work out why they were necessary. But there aren't too many modules that venture into the areas that PAR-Packer visits, so it's quite likely that you won't ever come across the same problem again. (Please be sure to /msg me if you do.)

    Cheers,
    Rob
      Hi Rob

      Thanks for those suggestions

      I started on the automated test changes first, becuase once I saw a way of making things better, I couldn't resist! I tried a few varients of the hi.ico path as follows:

      Opened up PERL script C:\mybuild\PAR-Packer-1.002\contrib\automated_pp_test\automated_pp_test.pl

      Changed:

      my $cmd = 'pp --gui --icon hi.ico -o ' . "$hello_executable $hello_pl_ +file";
      To (attempt 1):

      my $cmd = 'pp --gui --icon C:/mybuild/PAR-Packer-1.002/contrib/hi.ico +-o ' . "$hello_executable $hello_pl_file";
      Result:

      t/20-pp.t ................ 31/34 Cannot open C:/mybuild/PAR-Packer-1.0 +02/contrib/hi.ico for reading: No such file or directory at C:/Perl/s +ite/lib/Parse/Binary.pm line 612. # Failed test 'pp_gui_tests # amsg572: sub pp_gui_tests cannot system pp --gui --icon C:/mybuild/P +AR-Packer-1.002/contrib/hi.ico -o hello.exe hello.pl:No such file or +directory: # ' t/20-pp.t ................ 32/34 # at automated_pp_test.pl line 8446 +. t/20-pp.t ................ 34/34 # Looks like you failed 1 test of 34.
      To (attempt 2):

      my $cmd = 'pp --gui --icon C:/mybuild/PAR-Packer-1.002/contrib/automat +ed_pp_test/hi.ico -o ' . "$hello_executable $hello_pl_file";
      Result:

      t/20-pp.t ................ 31/34 Can't call method "remove" on an unde +fined value at C:/Perl/site/lib/Win32/Exe.pm line 220. t/20-pp.t ................ 32/34 # Failed test 'pp_gui_tests # amsg572: sub pp_gui_tests cannot system pp --gui --icon C:/mybuild/P +AR-Packer-1.002/contrib/automated_pp_test/hi.ico -o hello.exe hello.p +l:No such file or directory: # ' # at automated_pp_test.pl line 8446. t/20-pp.t ................ 34/34 # Looks like you failed 1 test of 34.
      To (attempt 3):

      my $cmd = 'pp --gui --icon C:\mybuild\PAR-Packer-1.002\contrib\automat +ed_pp_test\hi.ico -o ' . "$hello_executable $hello_pl_file";
      Result:

      t/20-pp.t ................ 31/34 Can't call method "remove" on an unde +fined value at C:/Perl/site/lib/Win32/Exe.pm line 220. # Failed test 'pp_gui_tests t/20-pp.t ................ 32/34 # amsg572: sub pp_gui_tests cannot sy +stem pp --gui --icon C:\mybuild\PAR-Packer-1.002\contrib\automated_pp +_test\hi.ico -o hello.exe hello.pl:No such file or directory: # ' # at automated_pp_test.pl line 8447. t/20-pp.t ................ 34/34 # Looks like you failed 1 test of 34.
      To (attempt 3):

      my $cmd = 'pp --gui --icon C:\\mybuild\\PAR-Packer-1.002\\contrib\\aut +omated_pp_test\\hi.ico -o ' . "$hello_executable $hello_pl_file";
      Result:

      t/20-pp.t ................ 31/34 Can't call method "remove" on an unde +fined value 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 C:\mybuild\P +AR-Packer-1.002\contrib\automated_pp_test\hi.ico -o hello.exe hello.p +l:No such file or directory: # ' t/20-pp.t ................ 32/34 # at automated_pp_test.pl line 8448 +. t/20-pp.t ................ 34/34 # Looks like you failed 1 test of 34.
      So I pressed on anyway and did a 'make install' and that did not generate any errors :)

      I had a look around and saw pp, pp.bat and pp.pm files still had date/timestamps in the past.

      So I un-installed PERL and deleted the c:\perl folder and re-did all the dmakes (still needed to manually make par.exe and static.exe

      What happened on the 3rd dmake is the following:

      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 run_with_inc.pl static.exe -I../myldr/.. -I../bli +b/lib -q -B -O..\script\parl.exe C:\Perl\bin\perl.exe run_with_inc.pl par.exe -I./myldr/.. -I../blib/li +b -q -B -O..\script\parldyn.exe 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\Static.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\Dynamic.pm');" C:\Perl\bin\perl.exe encode_append.pl par.exe ..\blib\lib\PAR\Stripped +PARL\Dynamic.pm C:\Perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PAR\StrippedP +ARL\Dynamic.pm');" Can't locate PAR/Heavy.pm in @INC (@INC contains: C:/Perl/site/lib C:/ +Perl/lib . ./myldr/.. ../blib/lib C:/Perl/site/lib C:/Perl/lib .) at +-e line 525, <_FH> chunk 1. C:\Perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "cp" -- script/par +ldyn.exe b lib\script\parldyn.exe dmake.exe: Error: -- `script\parl.exe' not found, and can't be made C:\mybuild\PAR-Packer-1.002>Can't locate PAR/Heavy.pm in @INC (@INC co +ntains: C:/Perl/site/lib C:/Perl/lib . ../myldr/.. ../blib/lib .) at +-e line 525, <_FH> chunk 1.
      It just hangs at the above. Do you have any suggestions on these new errors?

      Thanks

      Richard.

        Can't locate PAR/Heavy.pm in @INC

        Oops ... I don't get that error. Have you installed the prerequisite PAR ?

        Cheers,
        Rob
        It just hangs at the above

        Yes - it does the same for me whenever I do a 'dmake realclean' followed by a rebuild. Just hit Ctrl-C, then run 'dmake test' again and it should work. Failing that, you could start with a fresh unpack of PAR-Packer-1.002 in a different location. This problem, and the failing test, are both things that should be reported as PAR-Packer bugs. (I think the problems building the executables are, however, *not* PAR-Packer bugs.)

        Cheers,
        Rob