2011年 08月 15日

Lion で DBD::mysql の install に失敗する

$ cpanm install DBD::mysql
#   Failed test 'use DBD::mysql;'
#   at t/00base.t line 21.
#     Tried to use 'DBD::mysql'.
#     Error:  Can't load '/Users/cho45/.cpanm/work/1313143495.5214/DBD-mysql-4.019/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/cho45/.cpanm/work/1313143495.5214/DBD-mysql-4.019/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libmysqlclient.18.dylib
#   Referenced from: /Users/cho45/.cpanm/work/1313143495.5214/DBD-mysql-4.019/blib/arch/auto/DBD/mysql/mysql.bundle
#   Reason: image not found at /Users/cho45/perl5/perlbrew/perls/perl-5.14.1/lib/5.14.1/darwin-2level/DynaLoader.pm line 194.
You can s)kip, r)etry, f)orce install or l)ook ? [s] l
Entering /Users/cho45/.cpanm/work/1313143495.5214/DBD-mysql-4.019 with /bin/zsh

$ otool -L blib/arch/auto/DBD/mysql/mysql.bundle 
blib/arch/auto/DBD/mysql/mysql.bundle:
        libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)

$ install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib blib/arch/auto/DBD/mysql/mysql.bundle

$ blib/arch/auto/DBD/mysql/mysql.bundle:
        /usr/local/mysql/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)

$ make test
$ make install

ref. http://d.hatena.ne.jp/paulownia/20110802/1312273616