为什么在 DynaLoader 中安装 DBD::Pg 失败?

2024-02-15

Error:  Can't load '/home/oracle/.cpan/build/DBD-Pg-2.16.1/blib/arch/auto/DBD/Pg/Pg.so' for module DBD::Pg: libpq.so.5: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.

有人在安装 DBD::Pg perl 模块时遇到类似的错误吗?我能做什么来解决它?


你应该使用perl来解决这些动态链接问题。使用strace program &> out,然后 grep 查找libpq.so.5。我的猜测是你的libpq.so.5位于错误的位置,或者您的动态加载器 http://search.cpan.org/~timb/perl5.004_04/ext/DynaLoader/DynaLoader.pm配置错误。阅读有关的文档@dl_library_path.

您可以使用以下命令查看您的搜索路径(strace 还将显示它尝试通过检查每个目录来查找 .so):

perl -MDynaLoader -le'print for @DynaLoader::dl_library_path;'

确保您的libpq.5.so属于其中之一。这strace还将显示内核是否向 DynaLoader 返回错误,表明它正在隐藏;而且,它肯定会告诉您 DynaLoader 所知道的一切。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么在 DynaLoader 中安装 DBD::Pg 失败? 的相关文章

随机推荐