DynaLoader.pm找不到libssl

时间:2018-08-15 17:33:36

标签: macos perl openssl

我构建了一个Perl库,以使用ExtUtils :: MakeMaker(perl Makefile.PL等)在Web服务器上与一些CGI脚本一起部署。当我运行“ PERL5LIB = $ HOME / perl5 / lib / perl5进行测试”时,它的构建就像是冠军,所有测试都通过了。

但是,当我尝试将其部署到另一个项目中时,我将所有Perl依赖项都安装到了./local/lib/perl5中(使用纸箱),然后尝试安装我的自定义lib

PER5LIB=local/bin/perl5 cpanm -L ./local .../MY-Lib.tar.gz

测试失败,因为DynaLoader.pm无法找到libssl.1.0.0.dylib。

我已经将libssl.1.0.0.dylib安装为/usr/local/opt/openssl/lib/libssl.1.0.0.dylib。

我什至尝试破解cpan工作目录中的本地Makefile,并将“ -L / usr / local / opt / openssl / lib”附加到LDDLFLAGS并尝试重新运行make test,但是DynaLoader.pm仍然找不到libssl。

日志中的第一条错误消息是:

install_driver(mysql) failed: Can't load '$HOME/my-project/scripts/local/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen($HOME/my-project/scripts/local/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libssl.1.0.0.dylib
  Referenced from: $HOME/my-project/scripts/local/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
  Reason: image not found at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.

即使安装了所有先决条件,当PERL5LIB指向本地目录时,如何获取DynaLoader.pm来查找libssl?我该如何调试呢?

0 个答案:

没有答案