Sco*_*ken 7 mysql perl dbi dbd osx-snow-leopard
我试图让DBD :: MySQL在Snow Leopard上工作(v10.6.6).操作系统附带的默认Perl版本是v5.10.0.由于我已经阅读了64位,我继续下载并安装了64位版本的MySQL(mysql-5.5.8-osx10.6-x86_64).
安装和设置MySQL顺利进行,这是我的配置和版本号供参考.
我使用CPAN下载DBI和DBD :: MySQL驱动程序.然后我:
Makefile.PL表示它将使用以下设置进行编译和测试:
I will use the following settings for compiling and testing: cflags (mysql_config ) = -I/usr/local/mysql/include -Os -g -fno-common -fno-strict-aliasing -arch x86_64 embedded (mysql_config ) = libs (mysql_config ) = -L/usr/local/mysql/lib -lmysqlclient -lpthread mysql_config (guessed ) = mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 ssl (guessed ) = 0 testdb (default ) = test testhost (default ) = testpassword (User's choice) = r00t! testsocket (default ) = testuser (User's choice) = root To change these settings, see 'perl Makefile.PL --help' and 'perldoc INSTALL'. Multiple copies of Driver.xst found in: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/ /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level/auto/DBI/ at Makefile.PL line 907 Using DBI 1.616 (for perl 5.010000 on darwin-thread-multi-2level) installed in /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/ Writing Makefile for DBD::mysql
t/00base....................NOK 2/6# Tried to use 'DBD::mysql'. # Error: Can't load '/Users/swm/.cpan/build/DBD-mysql-4.018-Pnd2qz/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/swm/.cpan/build/DBD-mysql-4.018-Pnd2qz/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libmysqlclient.16.dylib # Referenced from: /Users/swm/.cpan/build/DBD-mysql-4.018-Pnd2qz/blib/arch/auto/DBD/mysql/mysql.bundle # Reason: image not found at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207. # at (eval 7) line 2 # Compilation failed in require at (eval 7) line 2. # BEGIN failed--compilation aborted at (eval 7) line 2. FAILED--Further testing stopped: Unable to load DBD::mysql make: *** [test_dynamic] Error 9
I will use the following settings for compiling and testing:
cflags (mysql_config ) = -I/usr/local/mysql/include -Os -g -fno-common -fno-strict-aliasing -arch x86_64
embedded (mysql_config ) =
libs (mysql_config ) = -L/usr/local/mysql/lib -lmysqlclient -lpthread
mysql_config (guessed ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
ssl (guessed ) = 0
testdb (default ) = test
testhost (default ) =
testpassword (User's choice) = r00t!
testsocket (default ) =
testuser (User's choice) = root
To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.
Multiple copies of Driver.xst found in: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/ /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level/auto/DBI/ at Makefile.PL line 907
Using DBI 1.616 (for perl 5.010000 on darwin-thread-multi-2level) installed in /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/
Writing Makefile for DBD::mysql
它失败了,因为它似乎找不到DBD的mysql.bundle.有人遇到过这个问题吗?或者可以指出我正确的方向下一步尝试什么?我需要DBI/DBD :: MySQL来完成我的新工作,我正忙着寻找解决方案.
提前谢谢了.
小智 14
我通过在/ usr/lib /"中放置一个符号链接到/usr/local/mysql-5.5.8-osx10.6-x86_64/lib/libmysqlclient来解决"未加载库:libmysqlclient.16.dylib"问题. 16.dylib
小智 0
这有点旁白,但我强烈建议在机器上设置一个单独的 perl - 通过 fink / macports 或从源代码 - 并单独保留 Mac 的系统 perl (及其库)。
一旦我在自己的 Mac 上完成了此操作,此后安装模块就很少遇到问题,而且我不必担心因破坏系统使用的 perl 而意外地在我的操作系统中炸出一个漏洞。
如果是我的 Mac,我会从源代码安装一个新的 Perl(Perl 源代码发行版足够智能,可以自行安装,看到它在 Mac 上并将其安全地安装到 /usr/local/bin 中),然后从 e 开始安装 DBD::Mysql (以及您需要的其他模块)。