Tag Archives: Gem

Install MySQL Ruby Gem on OS X 64-bit MySQL

I spent yesterday and today working on installing the ruby mysql driver via gems.  I’m running on a MacBook Pro with OS X 10.6.  I’d previously installed the MySQL x64 OS X from a downloaded disk img.  When I attempted to sudo gem install mysql.  I would get errors trying to find the mysql client library.
Interestingly, the log identified the library location as /usr/local/lib.  This lead me to believe that I should merely identify to the gem the proper library location, /usr/local/mysql/lib, and all would be well.  Alas, it was not.  One needs to also define the 64 bit architecture to the gem as well as the mysql locations.
This successfully compiled the gem for me:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql --   --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib   --with-mysql-include=/usr/local/mysql/include

Hope this helps others!

The “sudo gem install mysql” error message:Building native extensions.  This could take a while…

ERROR:  Error installing mysql:

ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb

checking for mysql_query() in -lmysqlclient… no

checking for main() in -lm… yes

checking for mysql_query() in -lmysqlclient… no

checking for main() in -lz… yes

checking for mysql_query() in -lmysqlclient… no

checking for main() in -lsocket… no

checking for mysql_query() in -lmysqlclient… no

checking for main() in -lnsl… no

checking for mysql_query() in -lmysqlclient… no

checking for main() in -lmygcc… no

checking for mysql_query() in -lmysqlclient… no

*** extconf.rb failed ***

Could not create Makefile due to some reason, probably lack of

necessary libraries and/or headers.  Check the mkmf.log file for more

details.  You may need configuration options.

Provided configuration options:

–with-opt-dir

–without-opt-dir

–with-opt-include

–without-opt-include=${opt-dir}/include

–with-opt-lib

–without-opt-lib=${opt-dir}/lib

–with-make-prog

–without-make-prog

–srcdir=.

–curdir

–ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

–with-mysql-config

–without-mysql-config

–with-mysql-dir

–without-mysql-dir

–with-mysql-include

–without-mysql-include=${mysql-dir}/include

–with-mysql-lib

–without-mysql-lib=${mysql-dir}/lib

–with-mysqlclientlib

–without-mysqlclientlib

–with-mlib

–without-mlib

–with-mysqlclientlib

–without-mysqlclientlib

–with-zlib

–without-zlib

–with-mysqlclientlib

–without-mysqlclientlib

–with-socketlib

–without-socketlib

–with-mysqlclientlib

–without-mysqlclientlib

–with-nsllib

–without-nsllib

–with-mysqlclientlib

–without-mysqlclientlib

–with-mygcclib

–without-mygcclib

–with-mysqlclientlib

–without-mysqlclientlib

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 for inspection.

Results logged to /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out