我在我的Perl多线程版本(不是原始版本)中通过cpanm安装上述模块时遇到问题。 我有Ubuntu 16.04。 尝试编译和测试此模块时,它给我以下错误:
/usr/bin/ld: impossible to find -lz
collect2: error: ld returned 1 exit status
Makefile:494: instructions set for target "blib/arch/auto/Net/SSLeay/SSLeay.so" fail
make: *** [blib/arch/auto/Net/SSLeay/SSLeay.so] Error 1
-> FAIL Installing Net::SSLeay::Handle failed. See /home/my_name/.cpanm/work/1548275319.13675/build.log for details. Retry with --force to force install it.
openssl,ssllib-dev-perl,libnet-ssleay-perl,libcrypt-ssleay-perl已通过apt-get安装。 我也尝试过手动编译此模块,但没有成功。我也强制安装...没办法。 该错误似乎与/ usr / bin / ld中缺少的内容有关:(不可能找到-lz collect2)。
有人可以帮助我吗?
Cpanm一直运行良好。到目前为止,除Net :: SSLeay :: Handle之外,我已经能够安装所有模块并正常运行。
感谢您的帮助
答案 0 :(得分:1)
好的,我通过安装此软件包(Ubuntu 16.04LTS)来解决:
-openssl -libssl-dev -libnet-ssleay-perl -libcrypt-ssleay-perl -zlib1g-dev如上所述
完成此操作后,请记住避免在gcc将要完成编译时测试模块,因为在大多数情况下,它会失败。 因此,执行此操作的最佳方法如下:
-cpanm install -v --notest Net :: SSLeay :: Handle
再次感谢所有Perl伙伴在此论坛上写作。 您保存了一天
答案 1 :(得分:-2)
首次登录cpan
Executor
强制安装模块应该起作用
THREAD_POOL_EXECUTOR
这也应该安装丢失的模块或引起注意