perl无法编译,并且找不到_mysql_init的惰性符号绑定错误

时间:2011-02-03 19:27:34

标签: mysql perl

我正在运行mac OS X Snow Leopard,我发现这是一个常见的问题。

我已经安装并重新安装了MySQL的32位和64位二进制安装。

那不起作用,所以我继续(并且根据我的常识)通过macports安装perl5,使其与Snow Leopard附带的版本完全不同。

我将DBIDBD::mysql个模块重新安装到新的perl中,但都取得了成功。

但仍然:

me$ perl5 processmail
dyld: lazy symbol binding failed: Symbol not found: _mysql_init
  Referenced from: /opt/local/lib/perl5/site_perl/5.8.9/darwin-      2level/auto/DBD/mysql/mysql.bundle
  Expected in: dynamic lookup

dyld: Symbol not found: _mysql_init
  Referenced from: /opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/auto/DBD/mysql/mysql.bundle
  Expected in: dynamic lookup

我也试过perl5 processmail --mysql_config=/usr/local/mysql/bin/mysql_config

提前致谢

2 个答案:

答案 0 :(得分:0)

您是否以root身份运行perl脚本时遇到同样的错误?

您的shell环境是否可能有VERSIONER_PERL_PREFER_32_BIT =没有设置?

有关http://www.perlmonks.org/?node_id=793727

的更多信息

答案 1 :(得分:0)

我终于通过摆脱默认设置

在我们的盒子上解决了这个问题

默认删除com.apple.versioner.perl

突然间它才起作用!无论