在Perl中,这个错误是什么意思?
Unresolved symbol: Perl_Gthr_key_ptr
在HP-UX PA-RISC计算机上使用perl2exe将Perl文件转换为二进制文件时出现此错误。
/usr/lib/dld.sl: Unresolved symbol: Perl_Gthr_key_ptr (code) from /tmp/p2xtmp-9979/Cwd.sl IOT trap (core dumped)
答案 0 :(得分:5)
在我的脑海中,它看起来像一个非线程的perl,试图加载为线程perl编译的模块。
编辑:澄清一下,您可以编译Perl,支持线程(线程perl)或不支持线程(非线程perl)。如果模块构建为与线程一起使用并且由perl加载而不支持线程,则通常会产生上述错误。
要检查perl中的线程支持,只需在perl -V
的输出中搜索“thread”字符串:
perl -V | grep thread
答案 1 :(得分:1)
正在加载Perl模块,该模块与您的基本Perl安装不是二进制兼容的。在其他情况下,这可能是因为先前已使用CPAN shell安装了模块,然后使用您的OS包管理器升级其下的Perl。
可以解决这种情况$ cpan -r
将找到所有带有二进制组件的CPAN模块,并根据当前安装的Perl重新编译这些二进制组件。