strmbnd has asked for the wisdom of the Perl Monks concerning the following question:

Uhm, PAR::Packer doesn't compile ... there's even no "strippedparl" entry generated in myldr\Makefile. snip--
Writing Makefile for the par.exe program Writing Makefile for PAR::Packer 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.p +m 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:\dev\software\strawberry\perl\bin\perl.exe sha1.c.PL sha1.c gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IM +PLICIT_CON TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MS +VCRT_READF IX -I"C:\dev\software\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.ex +e\" -s -O2 sha1.c dmake: Warning: -- Found file corresponding to virtual target [mktmpd +ir.h]. dmake: Warning: -- Found file corresponding to virtual target [mktmpd +ir.c]. dmake: Warning: -- Found file corresponding to virtual target [main.c +]. gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IM +PLICIT_CON TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MS +VCRT_READF IX -I"C:\dev\software\strawberry\perl\lib\CORE" -DPARL_EXE=\"parl.ex +e\" -s -O2 main.c C:\dev\software\strawberry\perl\bin\perl.exe file2c.pl ..\script\par.p +l my_par_p l.c load_me_2 1 gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IM +PLICIT_CON TEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MS +VCRT_READF IX -I"C:\dev\software\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:\dev\software\strawberr +y\perl\lib \CORE" -L"C:\dev\software\strawberry\c\lib" C:\dev\software\strawberr +y\perl\lib \CORE\libperl511.a C:\dev\software\strawberry\c\i686-w64-mingw32\lib\l +ibmoldname .a C:\dev\software\strawberry\c\i686-w64-mingw32\lib\libkernel32.a C:\ +dev\softwa re\strawberry\c\i686-w64-mingw32\lib\libuser32.a C:\dev\software\straw +berry\c\i6 86-w64-mingw32\lib\libgdi32.a C:\dev\software\strawberry\c\i686-w64-mi +ngw32\lib\ libwinspool.a C:\dev\software\strawberry\c\i686-w64-mingw32\lib\libcom +dlg32.a C: \dev\software\strawberry\c\i686-w64-mingw32\lib\libadvapi32.a C:\dev\s +oftware\st rawberry\c\i686-w64-mingw32\lib\libshell32.a C:\dev\software\strawberr +y\c\i686-w 64-mingw32\lib\libole32.a C:\dev\software\strawberry\c\i686-w64-mingw3 +2\lib\libo leaut32.a C:\dev\software\strawberry\c\i686-w64-mingw32\lib\libnetapi3 +2.a C:\dev \software\strawberry\c\i686-w64-mingw32\lib\libuuid.a C:\dev\software\ +strawberry \c\i686-w64-mingw32\lib\libws2_32.a C:\dev\software\strawberry\c\i686- +w64-mingw3 2\lib\libmpr.a C:\dev\software\strawberry\c\i686-w64-mingw32\lib\libwi +nmm.a C:\d ev\software\strawberry\c\i686-w64-mingw32\lib\libversion.a C:\dev\soft +ware\straw berry\c\i686-w64-mingw32\lib\libodbc32.a C:\dev\software\strawberry\c\ +i686-w64-m ingw32\lib\libodbccp32.a C:\dev\software\strawberry\c\i686-w64-mingw32 +\lib\libco mctl32.a -o par.exe C:\dev\software\strawberry\perl\bin\perl.exe -e1 C:\dev\software\strawberry\perl\bin\perl.exe run_with_inc.pl par.exe - +I../myldr/ .. -I../blib/lib -q -B -O..\script\parl.exe dmake: Error: -- `strippedparl' not found, and can't be made dmake.EXE: Error code 255, while making 'subdirs' RSCHUPP/PAR-Packer-1.004.tar.gz C:\dev\software\strawberry\c\bin\dmake.EXE -- NOT OK CPAN: YAML loaded ok (v0.71) Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible
--snap Any ideas?

Replies are listed 'Best First'.
Re: Strawberry 5.12 and PAR::Packer 1.004
by Anonymous Monk on May 04, 2010 at 19:31 UTC

    Unfortunately it is a bug in the latest strawberry perl.

    The simplest workaround is to copy c:\strawberry\perl\bin\perl512.dll to c:\strawberry\perl\bin\perl511.dll

    You can read more info in the following RT I have just created: http://rt.cpan.org/Public/Bug/Display.html?id=57205

    --

    kmx

      The simplest workaround is to copy c:\strawberry\perl\bin\perl512.dll to c:\strawberry\perl\bin\perl511.dll

      I'm thinking a slightly better solution would be to copy C:/strawberry\perl\lib\CORE\libperl511.a to C:/strawberry\perl\lib\CORE\libperl512.a and then change the libperl entry in C:/strawberry/perl/lib/Config_heavy.pl to 'libperl512.a'.

      That would be better only in that it brings the libperl setting into line with the convention (of matching the perl version number).

      Cheers,
      Rob

        I installed strawberry-perl-5.12.0.1.msi on Windows 7 Enterprise over a lastest MacBook Pro (iCore 7). I then run "cpan PAR::Packer" under DOS. But I first encountered a problem that I now forgot. After adding "C:\strawberry\c\libexec\gcc\i686-w64-mingw32\4.4.3" to the PATH environment variable, that problem has gone.

        However, I had the next problem:

        C:\strawberry\perl\bin\perl.exe -e "chmod(oct('0444'), '..\blib\lib\PA +R\StrippedPARL\Dynamic.pm');" dmake.EXE: Error: -- `script\parldyn.exe' not found, and can't be mad +e RSCHUPP/PAR-Packer-1.004.tar.gz C:\strawberry\c\bin\dmake.EXE -- NOT OK

        After running:

        copy C:\strawberry\perl\lib\CORE\libperl511.a C:\strawberry\perl\lib\ +CORE\libperl512.a
        and installing the PAR::Packer again, the parldyn.exe still cannnot be found.

        When I run:

        copy C:\strawberry\perl\lib\CORE\libperl511.a C:\strawberry\perl\lib\C +ORE\libperl512.a
        it failed because libperl512.a has already been there (while libperl511.a was not) and in C:/strawberry/perl/lib/Config_heavy.pl, the libperl entry is already set to 'libperl512.a'.

        I then run the installation again, but the same problem occurred (`script\parldyn.exe' not found). Any solutions? Thanks.

      Thats hilarious. ActiveState had problems like that with their build system, but they release more often.
        ActiveState had problems like that with their build system, but they release more often.

        Just to be clear about this - the problem was *not* specific to Strawberry's build system. It was a bug in the perl source that affected *every* build of perl (not just Strawberry) that was built using 'dmake'. The bug was actually in 'win32/makefile.mk', and therefore did not affect perls built using 'nmake' (such as ActvePerl) - which use 'win32/Makefile' instead.

        Cheers,
        Rob
Re: Strawberry 5.12 and PAR::Packer 1.004
by Anonymous Monk on May 04, 2010 at 16:57 UTC
    run make again
      I did. But that didn't work since strippedparl is not even included in any Makefile's section.