HJO has asked for the wisdom of the Perl Monks concerning the following question:
Hi,
I'm trying to use PAR::Packer to package a perl script in a standalone binary file. My script is based on a module called sapnwrfc (http://search.cpan.org/~piers/sapnwrfc-0.36/sapnwrfc.pm), which purpose is to create external RFC connections to SAP systems. I use two different systems to test my scripts and my binary files : one(RHEL) which possess the module correctly installed so I can test my scripts and package them, and another(CentOS) which doesn't have the module so I can test the binary files that I made on the first system.
Here is my problem : This module works with a few lib files that I must add on the system I want to use the module for it to work, and I must specify in a environment variable the directory I placed them in... (the variable is called LD_LIBRARY_PATH)
Here is the command line I use to create the binary file :
pp -o test --lib=/usr/sap/nwrfcsdk/lib/ -M Carp -M sapnwrfc SAP-NW-RFC_test.pl
At first I had an error because the lib weren't recognized by in the system :
Can't load '/tmp/par-726f6f74/cache-cc3f9bec3331e8f2e860f20be9bc3ebcaa +2a5e7d/8933ec24.so' for module SAPNW::Connection: libsapnwrfc.so: can +not open shared object file: No such file or directory at /usr/lib64/ +perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230. at /usr/lib/perl5/site_perl/5.8.8/PAR/Heavy.pm line 120 Compilation failed in require at sapnwrfc.pm line 22. BEGIN failed--compilation aborted at sapnwrfc.pm line 22. Compilation failed in require at script/SAP-NW-RFC_test.pl line 9. BEGIN failed--compilation aborted at script/SAP-NW-RFC_test.pl line 9.
Then I added the files in the usual directory on the system for the module to recognise them : /usr/sap/nwrfcsdk. But when I relaunched my binary file, I had another error :
So I've got two questions :Could not open the ICU common library. The following files must be in the path described by the environment variable "LD_LIBRARY_PATH": libicuuc.so.34, libicudata.so.34, libicui18n.so.34 [nlsui0_mt.c 154 +4] pid = 5485 LD_LIBRARY_PATH is currently set to /tmp/par-726f6f74/cache-cc3f9bec33 +31e8f2e860f20be9bc3ebcaa2a5e7d [nlsui0_mt.c 1547] pid = 5485
Regards
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: PAR::Packer, trouble to include specific external libraries
by Anonymous Monk on Oct 01, 2012 at 15:50 UTC | |
by HJO (Acolyte) on Oct 01, 2012 at 16:10 UTC | |
by Anonymous Monk on Oct 01, 2012 at 16:17 UTC | |
by HJO (Acolyte) on Oct 02, 2012 at 07:20 UTC | |
by HJO (Acolyte) on Oct 02, 2012 at 07:45 UTC |