I am using PAR Packer (1.012) to package perl scripts for distribution, like so:
pp -c -o script script.pl
When I move it to a machine without various libraries used the script installed it fails with the following error message:
Can't find 'boot_Compress__Raw__Zlib' symbol in
/tmp/par-root/cache-206d7ce41fbe60d4e890ae3ac7d39bfc7ce2d710/d6103eb0.so
at /usr/share/perl5/Archive/Zip.pm line 12 Compilation failed in
require at /usr/share/perl5/Archive/Zip.pm line 12. BEGIN
failed--compilation aborted at /usr/share/perl5/Archive/Zip.pm line
12. Compilation failed in require at -e line 358.
So, it appears to be missing the Zlib.so library that contains the symbol. Compiling with -vv to debug I can see that Zlib is included:
Written as "auto/Compress/Raw/Zlib/Zlib.so" Packing
"/tmp/par-jag/cache-044524c2d7fff164771e45125a48ca260a890c0c/5f10a097.so"...
and I have confirmed that it is the packaged archive. I've also checked the library that it is complaining it can't find the symbol in:
Written as "auto/IO/IO.so" Packing
"/tmp/par-jag/cache-044524c2d7fff164771e45125a48ca260a890c0c/d6103eb0.so"...
I have no idea how to resolve this issue. Additionally, if I install perl-Compress-Raw-Zlib on the target box I just immediately fails on another library.
Can't find 'boot_Term__ReadKey' symbol in
/tmp/par-jag/cache-206d7ce41fbe60d4e890ae3ac7d39bfc7ce2d710/d6103eb0.so
Which is also included in the package.
How can I resolve/debug this?