Apple Mac OSX Programming

DBD::mysql, MySQL and OS X Lion

I downloaded and installed MySQL Community Server 5.5.15 from

Using CPAN, I then tried to install DBD::mysql on a fresh install of OS X Lion and was presented with an error saying it was unable to load the library.

#     Error:  Can’t load ‘/private/var/root/.cpan/build/DBD-mysql-4.019-H1RD6j/blib/arch/auto/DBD/mysql/mysql.bundle’ for module DBD::mysql: dlopen(/private/var/root/.cpan/build/DBD-mysql-4.019-H1RD6j/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libmysqlclient.18.dylib
#   Referenced from: /private/var/root/.cpan/build/DBD-mysql-4.019-H1RD6j/blib/arch/auto/DBD/mysql/mysql.bundle

After a bit of searching, I came across which although it’s for Snow Leopard has a very similar error and the fix works great on Lion as well.

$ sudo install_name_tool -id /usr/local/mysql-5.5.15-osx10.6-x86_64/lib/libmysqlclient.18.dylib /usr/local/mysql-5.5.15-osx10.6-x86_64/lib/libmysqlclient.18.dylib

$ otool -D `mdfind libmysqlclient.18.dylib`

After running the name_install command, DBD::mysql built and tested correctly.

One reply on “DBD::mysql, MySQL and OS X Lion”

(I’m still searching the web – but as I saw your posting here…)

I have mysql-5.5.14-osx10.6-x86 (although interestingly enough, when I run mysql and do ‘? version’ it comes back with 5.5.16-standard), which I’ve gotten that up and running on Lion and have been using it without any significant problems.

So I went to my Perl installation (it had been 5.8.3 but I was running into all sorts of issues with it, so I downloaded fresh source and built it myself – version 5.14.1) and tried to do a ‘cpan’ installation of DBD::mysql (after having done an installation of DBI) – and it kept failing, so I went to the actual build directory. ‘make’ seems to be fine, but it dies when trying to do a ‘make test’:

(Macintosh-3) DBD-mysql-4.019-GhjJw_ > sudo make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.t .................. 1/6 Bailout called. Further testing stopped: Unable to load DBD::mysql

# Failed test 'use DBD::mysql;'
# at t/00base.t line 21.
# Tried to use 'DBD::mysql'.
# Error: Can't find 'boot_DBD__mysql' symbol in /Users/ghoti/.cpan/build/DBD-mysql-4.019-GhjJw_/blib/arch/auto/DBD/mysql/mysql.bundle
# 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 255
(Macintosh-3) DBD-mysql-4.019-GhjJw_ > find blib/lib -name "*.pm"
I tried the steps you mentioned with install_name_tool and otool, and though they seemed to work (no errors shown) – they didn’t seem to resolve the issue I’m having.

Any ideas?

Comments are closed.