次のように、PAR Packer (1.012) を使用して配布用の perl スクリプトをパッケージ化しています。
pp -c -o スクリプト script.pl
スクリプトがインストールされているさまざまなライブラリを使用していないマシンに移動すると、次のエラー メッセージが表示されて失敗します。
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.
そのため、シンボルを含む Zlib.so ライブラリが欠落しているようです。-vv でコンパイルしてデバッグすると、Zlib が含まれていることがわかります。
Written as "auto/Compress/Raw/Zlib/Zlib.so" Packing
"/tmp/par-jag/cache-044524c2d7fff164771e45125a48ca260a890c0c/5f10a097.so"...
パッケージ化されたアーカイブであることを確認しました。また、シンボルが見つからないと不平を言っているライブラリをチェックしました。
Written as "auto/IO/IO.so" Packing
"/tmp/par-jag/cache-044524c2d7fff164771e45125a48ca260a890c0c/d6103eb0.so"...
この問題を解決する方法がわかりません。さらに、ターゲット ボックスに perl-Compress-Raw-Zlib をインストールすると、すぐに別のライブラリで失敗します。
Can't find 'boot_Term__ReadKey' symbol in
/tmp/par-jag/cache-206d7ce41fbe60d4e890ae3ac7d39bfc7ce2d710/d6103eb0.so
これもパッケージに含まれています。
これを解決/デバッグするにはどうすればよいですか?