develooper Front page | perl.par | Postings from March 2012

Re: PAR::Packer - problem installing under Windows / Strawberry portable

Thread Previous | Thread Next
Eljot na
March 1, 2012 11:12
Re: PAR::Packer - problem installing under Windows / Strawberry portable
Message ID:
W dniu 2012-03-01 11:13, Roderich Schupp pisze:
> On Thu, Mar 1, 2012 at 10:28, Eljot na<>  wrote:
>> OS: Win7 Pro 64-bit (irrelevant I presume, just in case)
>> Perl: Strawberry portable 64-bit
>> ...
>> 2. Set env vars due to README.portable.txt
>> ...
>> main.o:main.c:(.text+0x2b4f): undefined reference to `_imp__Perl_get_context'
> Sorry, I can't reproduce that here (Windows XP 32-bit).
> Did you really add all 3 directories to PATH as recommended in
> README.portable.txt?

Heh, yes, but I have added those directories at the end of the PATH:

When I added directories in front of the PATH:

The problem disappeared. I had ActiveState Perl installed as well (but
now not anymore), so probably the linker took improper library to make

Well, this problem is solved, another one have occured:

cpan> install PAR::Packer
C:\myperl\perl\bin\perl.exe -s ..\script\ my_par_pl.c
C:\myperl\perl\bin\perl.exe sha1.c.PL
gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE
-fno-strict-aliasing -mms-bitfields
-I"C:\myperl\perl\lib\CORE"  -DLOAD_MY_LIBGCC
-DPARL_EXE=\"parl.exe\" -s -O2 main.c
windres -F pei-i386 -i winres\pp.rc -o winres\pp.res
windres -o ppresource.coff winres\pp.res
windres: unexpected version string length 68 != 32 + 8
dmake:  Error code 129, while making 'ppresource.coff'
dmake.exe:  Error code 255, while making 'subdirs'
C:\myperl\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
Failed during this command:
RSCHUPP/PAR-Packer-1.013.tar.gz              : make NO

I guess the key line is here:

     windres: unexpected version string length 68 != 32 + 8

What does it mean? The compiler was told to mix 32- and 64-bit modules?
So how to get rid of the problem now?

> And yes, it's C:\myper\perl\bin\perl514.dll that the linker can't find.
> Try adding -L"C:\myperl\perl\bin" to the failing command in myldr\Makefile.

BTW: I'm afraid it's useless because myldr\Makefile seems to be
regenerated every time make is executed. I think the better idea is to
modify C:\myperl\portable.perl, i.e.:

lddlflags: '-mdll -s -L"$archlib\CORE" -L"$_libpthfix_part1"'
ldflags: '-s -L"$archlib\CORE" -L"$_libpthfix_part1"'
ldflags_nolargefiles: '-s -L"$archlib\CORE" -L"$_libpthfix_part1"'

lddlflags: '-mdll -s -L"$archlib\CORE" -L"$_libpthfix_part1" -L"$bin"'
ldflags: '-s -L"$archlib\CORE" -L"$_libpthfix_part1" -L"$bin"'
ldflags_nolargefiles: '-s -L"$archlib\CORE" -L"$_libpthfix_part1" -L"$bin"'

But as I have mentioned it wasn't the case.

> Cheers, Roderich

Jarek Lubczyński

There are 10 kinds of people:
Those who understand binary and those who don't

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About