Почему perl2exe жалуется на «неразрешенный символ: Perl_Gthr_key_ptr»? - PullRequest
0 голосов
/ 27 сентября 2010

В Perl, что означает эта ошибка?

 Unresolved symbol: Perl_Gthr_key_ptr

Я получаю эту ошибку при преобразовании файла Perl в двоичный файл с помощью perl2exe на компьютере HP-UX PA-RISC.

/usr/lib/dld.sl: Unresolved symbol: Perl_Gthr_key_ptr (code)  from /tmp/p2xtmp-9979/Cwd.sl IOT trap (core dumped)

Ответы [ 2 ]

5 голосов
/ 27 сентября 2010

В верхней части моей головы это выглядит как не-поточный Perl, пытающийся загрузить модули, скомпилированные для многопоточного Perl.

РЕДАКТИРОВАТЬ: чтобы уточнить, вы можете скомпилировать Perl с поддержкой потоков (многопоточный Perl)или без поддержки потоков (не резьбовой Perl).Если модуль был создан для использования с потоками и загружается perl без поддержки потоков, он обычно выдает вышеуказанную ошибку.

Чтобы проверить поддержку потоков в perl, просто найдите строку "thread" в выводе perl -V:

perl -V | grep thread
1 голос
/ 10 апреля 2012

Загружается модуль Perl, который не совместим двоично с вашей базовой установкой Perl. Это может быть вызвано, среди прочего, наличием ранее установленных модулей с оболочкой CPAN и последующим использованием диспетчера пакетов вашей ОС для обновления Perl под ним. Эту ситуацию можно решить с помощью

$ cpan -r

, который найдет все ваши CPAN-модули с двоичным компонентом и перекомпилирует эти двоичные компоненты в соответствии с вашей текущей установкой Perl.

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