升级到 OSX Mavericks 后,我无法运行 DBI/DBD。
Perl 和 MySQL 运行良好(我可以登录到 mysql 并访问我的表),但是我的 Perl 脚本不能再使用 DBI,因为更新程序删除了我以前工作的所有 Perl 模块。
我使用 CPAN 重新安装了 DBI 和 DBD::mysql,将它们安装到 /opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level/。将模块(DBI、DBD 和“auto”中的所有内容)复制到 /Library/Perl/5.16/darwin-multi-2level/(因为 cpan 使用的目录不在 @INC 中)后,我的脚本返回内部服务器错误(即使使用 FatalsToBrowser)。
Apache 错误日志说:
dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level/auto/DBI/DBI.bundle
Expected in: flat namespace
dyld: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level/auto/DBI/DBI.bundle
Expected in: flat namespace
Premature end of script headers: test.pl
这里有什么问题?也许是因为我复制了文件?也许我应该强制 CPAN 直接安装到 /Library/Perl/5.16/ ?我怎样才能告诉 CPAN 这样做?
有任何想法吗?