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,然后对libpq.so.5使用grep。我猜您的libpq.so.5位置不对,或者您的DynaLoader配置错误。阅读@dl_library_path上的文档。
您可以看到您的搜索路径(strace还将显示它试图查找。因此,通过检查每个目录):

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

确保你的libpq.5.so落入其中之一。strace还将显示内核是否正在向DynaLoader返回一个隐藏的错误;此外,它肯定会告诉您DynaLoader知道的一切。

关于perl - 为什么在DynaLoader中安装DBD::Pg失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2110435/

10-13 04:21