1

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?

Phil Miller
  • 36,389
  • 13
  • 67
  • 90
Olson
  • 1,884
  • 2
  • 17
  • 18

1 Answers1

0

Maybe the two machine are so different that they are needing different lib? One is 32bit other is 64bit?

If it is possible try to use pure perl scripts only or you have to package your program in a same enviroment.

Use a virtual machine, install a same linux on it and create package there.

user1126070
  • 5,059
  • 1
  • 16
  • 15
  • Both are running RHEL6 x86_64, main differences between the systems are the presence of development tools and libraries on the build system. I believe they were both installed from the same DVD and kickstart. (The build system had aforementioned development tools and libraries added after initial load, it probably got some updates as well.) – Olson Feb 17 '12 at 14:34
  • please check that auto/Compress/Raw/Zlib/Zlib.so files is in both machine and it is the same (diff). – user1126070 Feb 17 '12 at 16:07
  • It is not on both machines (not needing it is kind of the point of using pp). Note the last bit of my question where I mention that if I install it on the target system then that lib works and the very next not locally installed lib fails in the exact same way. – Olson Feb 18 '12 at 21:58