2

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

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

install_driver(mysql) 失败:无法为模块 DBD::mysql 加载 '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle': dlopen(/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 行找不到图像。

在(评估 7)第 3 行

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

也许所需的共享库或 dll 未安装在预期的位置

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

4

2 回答 2

3

听起来您肯定想阅读这篇博文:

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

问题似乎是 mysqlclient 动态库中没有路径信息。您需要手动修复此问题(如上面的帖子所述)。

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

希望这对将来寻找这个问题的人有所帮助。

于 2011-11-21T19:18:11.930 回答
0

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

于 2011-06-15T16:13:02.397 回答