Installing MySQL gem on Mac OS X Leopard for Rails 2.3.5

Hi,

Ive got Mac OS 10.5.8 and MySQL 5.0.67-osx10.5-x86 (installed in /usr/
local/mysql) working fine with my Rails 2.1.0 applications.

Im trying a test run of Rails 2.3.5 and having to install the MySQL
gem is literally driving me crazy! Ive tried all the following
commands, with sudo and without and I'm getting the same error for all
of them, ie.

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.

The commands I've tried after much Googling and blog posts are,

env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/
usr/local/mysql/bin/mysql_config
env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-dir=/usr/
local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-
include=/usr/local/mysql/include
env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-dir=/usr/
local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-
include=/usr/local/mysql/include --with-mysql-config=/usr/local/mysql/
bin/mysql_config
env ARCHFLAGS="-arch i386" gem install mysql --with-mysql-dir=/usr/
local/mysql
gem install mysql -- --with-mysql-dir=/usr/local/mysql
gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/
mysql_config

As advised by the gem install o/p, I checked the mkmf.log file in /
Users/<user>/.gem/ruby/1.8/gems/mysql-2.8.1/ext/mysql_api/mkmf.log and
found this - "ld: library not found for -lmysqlclient" .

Hope someone can help me fix this. Quite frustrating!

Danke!

Anyone?

I met the same problem on Cent OS 5.3.
My solution is follow:
1. sudo yum install mysql-devel.x86_64
2. gem install mysql
So you need mysql-devel package
For Mac, I found some answers from
http://stackoverflow.com/questions/2716527/how-to-install-mysql-gem-on-mac-os-10-6
you can try this:
   http://www.tmtm.org/en/ruby/mysql/ to download the tar file, and
run the command below
   # ruby ./install.rb

Hi Ram,

http://hivelogic.com/articles/ruby-rails-leopard and
http://hivelogic.com/articles/installing-mysql-on-mac-os-x

:smiley:

Hello Ryan,

Thank you for your response. I downloaded and installed the tar file
but that dint help in installing the gem either.

I want to get a few things right first,

1. I have mysql 5.0.67 x86 version installed which seems to be a 32
bit version. But I have a 64 bit Intel Core 2 duo processor. Can that
cause issues?
2. Does "checking for mysql_query() in -lmysqlclient... no" mean im
missing the mysql-dev package?

Okay ... RESOLVED! :smiley:

I left the mysql installation as such in /usr/local .
I had been running the ruby and rails shipped with leopard
Followed the hivelogic article above to roll my own installations on /
usr/loca/ and then ran "sudo gem install mysql -- --with-mysql-dir=/
usr/local/mysql" . Worked like a charm!

Thank you all for the help!