我们已经使用andNet::SSLeay 1.55安装到一个“本地”目录中。Cartonuse 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