Closed sincos2007 closed 5 years ago
Is the resulting package portable for all Linux?
Mostly. The more you use non-perl stuff, it may only work with extra work on the packaging side or not at all. In your case: Filter::Crypto::Decrypt
has an XS part that is linked against the libcrypto shared library from OpenSSL. This library may not be installed on other systems or — more likely — a version different from yours is installed, e.g. libcrypto.so.1.1
vs libcrypto.so.1.0
. Note that pp
does not automagically pack dependencies like this.
Do find the version your Filter::Crypto::Decrypt
is linked against, run
$ objdump -ax .../Filter/Crypto/Decrypt/Decrypt.so | grep NEEDED
...
NEEDED libcrypto.so.1.1
Then add this shared library with --link libcrypto.so.1.1
to your executable.
When I use command:
pp -f Crypto -F Crypto -M Filter::Crypto::Decrypt -o test test1.pl
The resulting package could run in this Linux no problem. But get error when I run it on another Linux system.
Is the resulting package portable for all Linux?