Apple Intelligence is now available on iPhone, iPad, and Mac!

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

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)

Posted on May 7, 2012 3:55 AM

Reply
9 replies

May 7, 2012 10:56 AM in response to bitsian

Sorry - one mistake in my earlier post.


The following lines -


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


should instead read as below since I installed 5.5.23 MySQL version:


For Lion, type:

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

Any help is greatly appreciated. In the meantime, I have started exploring pure perl version of DBD driver - available from CPAN as DBD::mysqlPP. If that installs succesfully, I can probably get my perl scripts to connect to mysql, but would really like my driver install problem to go away.


In talking to some people who migrated from Snow Leopard to Lion, I am informed that after installing Xcode, they have all the binaries available in standard locations like /usr/bin, /bin, etc. But for me, all development utilities are only present in /Applications/Xcode.app/Contents/Developer/usr/bin/ (so I updated PATH to include this directory in search - as posted earlier). Don't know if the lack of a development environment from the terminal shell (in standard directories like /usr/bin, etc) is the cause of my grief. If someone knows of a way to get the Xcode environment recognised in terminal shell, that might also help.


Cheers.

May 8, 2012 5:58 AM in response to bitsian

Hooray! Latest update...


Problem was as suspected. When I installed Xcode (v 4.3.2 for Lion 10.7.3), it didn't install any of the development utilities/libraries automatically - this behaviour seems to have changed from previous version of Xcode! After searching on the Apple development forums on this topic, I found that you can ask Xcode to install development utilities from Xcode->Preferences->Downloads (the development tools was sitting there waiting to be installed). Just click Install and all is well!


Now my terminal shell can find all that is needed in standard locations such as /usr/bin, etc.


Went back to making my original DBD::mysql after this and voila! everything installs like a charm!


Though I am familiar with Unix, being a first time user to Mac, every little thing was taking away a lot of time, but now hopefully, I am all set!


Hope this post helps some other damsel/dude in distress!


Thanks for those who took time to review this post.


Cheers.

May 16, 2012 12:52 PM in response to bitsian

Great, thank you, this solved my Perldoc issue -> I could not access perl help from the Terminal (using OS X 10.7.4 & Xcode 4.3.2):

Before my problem was:


$ perldoc -u -f atan2

No documentation found for "perlfunc"


Now after your tip -> Xcode->Preferences->Downloads and clicking Install opposite "Command Line Tools", I can now use perldoc!!


$ perldoc -u -f atan2



=over 8



=item atan2 Y,X

X<atan2> X<arctangent> X<tan> X<tangent>



Returns the arctangent of Y/X in the range -PI to PI.



For the tangent operation, you may use the C<Math::Trig::tan>

function, or use the familiar relation:



sub tan { sin($_[0]) / cos($_[0]) }



The return value for C<atan2(0,0)> is implementation-defined; consult

your atan2(3) manpage for more information.



=back



//Thank You for your answer!!

Oct 9, 2015 10:32 PM in response to skybluecircles

Oh. My.

The cpan force install had got me most of the way, but I still had a broken install. I really didn't want to have to go downloading and build bundles by hand ( though I applaud the OP for finding a way and documenting it for the collective benefit of the rest of us).

That softlink was all I needed to get a working DBD::mysql

Thank you!!

Problems installing DBD::MySQL on OS X Lion 10.7.3

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.