Problems installing DBD::MySQL on OS X Lion 10.7.3
This is further to etresoft's post on July 11, 2011 titled - Local Web Server for Lion. However, I am only referring to the installation of DBD::MySQL driver from that post.
I have Xcode 4.3.2 downloaded from MacApp store. However, it didn't set my environment for development libraries at all. So I included /Applications/Xcode.app/Contents/Developer/usr/bin/ in PATH so it can find common utilities like make, cc, etc.
I have installed mysql-5.5.23-osx10.6-x86_64 from MySQL's DMG archive. That went smooth - I am able to start and stop the server. Get in using mysql command line client interface and execute queries, etc.
Perl came preinstalled with 10.7.3 Lion. Version of perl is 5.12.3.
I am now trying to install DBD::MySQL driver for interfacing with perl and ran into issues.
According to MySQL documentation, I first tried to install this driver using -
shell> perl -MCPAN -e shell
cpan> force install DBD::mysql
But this failed with make errors (the error is same as reported further below).
Then, after days of googling, I found the original post by etresoft on installing this driver.
I followed the steps documented in that post (reproduced below for easy reference). My comments in italics.
Download the MySQL Perl driver.
Done. My version of DBD happens to be 4.021.
Extract the archive with:
tar xvf DBD-mysql-4.021.tar
Move into the directory:
cd DBD-mysql-4.021
First, fix the MySQL client library. (credit)
For Lion, type:
sudo install_name_tool -id /usr/local/mysql-5.5.14-osx10.6-x86_64/lib/libmysqlclient.18.dylib /usr/local/mysql-5.5.14-osx10.6-x86_64/lib/libmysqlclient.18.dylib
Done. No issues.
Next, build DBD::mysql with:
perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config --testuser=root --testpassword=xxxxxx
Done. No issues.
make
Failed! See steps leading to the error output below.
Administrators-iMac:DBD-mysql-4.021 admin$ pwd
/usr/local/DBD-mysql-4.021
Administrators-iMac:DBD-mysql-4.021 admin$ perl Makefile.PL --mysql_config=/usr/local//mysql/bin/mysql_config --testuser=root --testpassword=xxxxxx
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 ) =
ldflags (mysql_config ) =
libs (mysql_config ) = -L/usr/local//mysql/lib -lmysqlclient -lpthread
mysql_config (Users choice ) = /usr/local//mysql/bin/mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
ssl (guessed ) = 0
testdb (default ) = test
testhost (default ) =
testpassword (User's choice) = xxxxxx
testsocket (default ) =
testuser (User's choice) = root
To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.
Checking if your kit is complete...
Looks good
Using DBI 1.615 (for perl 5.012003 on darwin-thread-multi-2level) installed in /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level/auto/DBI/
Writing Makefile for DBD::mysql
Administrators-iMac:DBD-mysql-4.021 admin$ make
make: *** No rule to make target `/System/Library/Perl/5.12/darwin-thread-multi-2level/CORE/config.h', needed by `Makefile'. Stop.
Administrators-iMac:DBD-mysql-4.021 admin$
I have checked the directory in which it is looking for config.h. It's not there. There's a perl.h there and a Config.pm in the directory one level up from CORE. I have been unable to proceed with further steps listed below.
make test
sudo make install
Can someone please help. I have been stuck with this for the past week or so. I have found many posts on installing this driver and all of them assume the make was successful, but for me, it fails right in the first step.
Cheers.
iMac, Mac OS X (10.7.3)