我们已经使用andNet::SSLeay 1.55
安装到一个“本地”目录中。Carton
use lib
在编译时一切都很好,但在运行时Net::LDAP
希望使用 建立安全连接时Net::SSLeay
,我们得到:
Can't locate object method "tid" via package "threads" at /usr/lib64/perl5/XSLoader.pm line 94.
尝试在 cpanfile 中定义 XS::Loader 并使用 Carton 进行安装,但是虽然调用了本地安装的 XS::Loader,但仍然出现上述错误。
这个问题几乎可以肯定与这个 Net::SSLeay 错误有关(因为实际上我们SIG{DIE}
在程序中重写,这会触发错误),但据报道该错误已在Net::SSLeay 1.46
.
在我们的系统上,我们有/usr/lib64/perl5/auto/Net/SSLeay/SSLeay.so
(显然是系统使用的Net::SSLeay 1.34
)以及本地安装SSLeay.so
的供Net::SSLeay 1.55
. 但也许系统SSLeay.so
正在被使用?
我们如何确保Net::SSLeay
使用正确的.so
文件(如果这就是我们仍然看到错误的原因),或者以其他方式解决这个错误?
$ perl -v
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi