错误消息“库未加载:libmysqlclient.18.dylib”的原因是什么?

时间:2011-06-15 16:00:48

标签: mysql perl dynamic-loading

我没有使用Perl的经验,我正在尝试为我正在进行的项目运行the geo_to_mysql.pl program。除了前几行中的数据库,用户名,密码和文件目录路径之外,我没有对程序进行任何修改。

运行程序时,我不断收到此错误:

  

install_driver(mysql)失败:无法为模块DBD :: mysql:dlopen加载'/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle,1):未加载库:libmysqlclient.18.dylib

     

参考文献:/ Library /Perl /5.10.0 / darwin-thread_multi-2level / auto /DBD / mysql / mysql.bundle

     

原因:在/System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm第207行找不到图片。

     

at(eval 7)第3行

     

在(eval 7)第3行的require中编译失败。

     

可能未在预期的地方安装所需的共享库或dll

我确保从CPAN安装了MySQL所需的DBD,所以我不认为这是问题所在。任何人都可以对这个问题有所了解吗?

2 个答案:

答案 0 :(得分:3)

听起来你可能想要阅读这篇博文:

http://probably.co.uk/problems-installing-dbdmysql-on-os-x-snow-leopard.html

问题似乎是mysqlclient动态库中没有路径信息。你需要通过manaully来解决这个问题(如上面的帖子所述)。

更便宜的解决方案之一是将libmysqlclient库符号链接或复制到/ usr / lib。

希望这有助于将来寻找这个问题的任何人。

答案 1 :(得分:0)

DBD :: mysql模块需要访问MySQL客户端库才能工作。我很惊讶DBD :: mysql甚至没有安装在你的系统上。你是如何安装DBD :: mysql模块的?