Как отладить разрешение символов PAR Packer? - PullRequest
1 голос
/ 16 февраля 2012

Я использую PAR Packer (1.012) для упаковки Perl-скриптов для распространения, например:

pp -c -o script 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

Что также входит в комплект.

Как я могу решить / отладить это?

1 Ответ

0 голосов
/ 17 февраля 2012

Может быть, две машины настолько разные, что им нужна разная библиотека?Один 32-битный, другой 64-битный?

Если это возможно, попробуйте использовать только чистые Perl-скрипты или вам нужно упаковать свою программу в той же среде.на нем linux и создай там пакет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...