Hi,

I'm trying to pack an executable on a Windows system - deep inside my
code a dependent module uses socket.pm.

Packing my sourcecode using pp I get an executable. Starting this
executable, I got the following error message:

"Can't locate loadable object for module Socket ..."

Analyising the packed dll's (by size comparing packed dll's with
dll's from Perl\lib\auto folder and Perl\site\lib\auto folder) I noticed
that dll Perl\lib\auto\socket\socket.dll is not packed. Looking at the
packed perl modules, socket.pm is packed correctly.

Linking socket.dll explicitly with pp using Option "--link
C:\Perl\lib\auto\socket\socket.dll" leads to an executable which
contains socket.dll and therefore works correctly.

Now my questions:

Why is socket.dll not packed correctly with pp - unless socket.pm is packed?
If I have to link socket.dll by hand: Why is it neccessary to use a
fully qualified path - instead of "--link socket.dll" only (I know:
put "C:\Perl\lib\auto\socket\" on your path and it will work ...
but I'm not satisfied with this: it would be more comfortable, if pp
would look AUTOMATICALLY in subdirectories of [PERLBASEPATH]\lib\auto\
and [PERLBASEPATH]\site\lib\auto for more DLLs ...)
Is there an other way to overcome this problem?


System:
Windows2003 Server
StrawberryPerl 5.12.1
PAR::Packer 1.006


Thanks
Johannes






Reply via email to