Hi,
I create a standalone executable from a perl script. My script uses
FTP.pm . When I try to run this executable on a different machine, which do
not have perl installed, the executable cannot locate the Socket.so.
I unzipped the executable (I call it inst.exe), then execute it, it works
fine. I traced the inst.exe and it finds the Socket.so in
'./lib/auto/Socket/Socket.so' . I got this Socket.so after unzipping the
inst.exe.
Here is the error I see when I try to execute.
[EMAIL PROTECTED]:~/work[652]>
./inst.exe
Can't locate loadable object for module Socket in @INC (@INC contains:
CODE(0x41e5a4) CODE(0x4920f0) /tools/sunos/perl58/lib/5.8.0/sun4-solaris
/tools/sunos/perl58/lib/5.8.0
/tools/sunos/perl58/lib/site_perl/5.8.0/sun4-solaris
/tools/sunos/perl58/lib/site_perl/5.8.0 /tools/sunos/perl58/lib/site_perl .)
at Net/FTP.pm line 17
Compilation failed in require at Net/FTP.pm line 17.
BEGIN failed--compilation aborted at Net/FTP.pm line 17.
Compilation failed in require at script/install_card.pl line 6.
BEGIN failed--compilation aborted at script/install_card.pl line 6.
The truss output shows that it's not looking for Socket.so in the right
place, which I guess should be for example
'tmp/par_priv.24508.tmp/lib/auto/Socket/'. Please see the truss output
below.
stat64("Socket.pm/auto/Socket/Socket.so", 0x00113350) Err#2 ENOENT
stat64("./Socket.so", 0x00113350) Err#2 ENOENT
stat64("./Socket.so", 0x00113350) Err#2 ENOENT
stat64("./libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/local/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/local/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/local/lib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/ccs/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/ccs/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/ccs/lib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/tmp/par_priv.24508.tmp/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/tmp/par_priv.24508.tmp/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/tmp/par_priv.24508.tmp/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/atria/shlib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/atria/shlib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/atria/shlib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/sparcv9/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/sparcv9/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/lib/sparcv9/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/dt/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/dt/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/dt/lib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/openwin/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/openwin/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/openwin/lib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/xpg4/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/xpg4/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/xpg4/lib/libSocket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/local/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/local/lib/Socket.so", 0x00113350) Err#2 ENOENT
stat64("/usr/local/lib/libSocket.so", 0x00113350) Err#2 ENOENT
Am I missing anything?
Thanks
Basavaraj