making the world a stranger place

Site menu:

Archives

Links:

Amazon Ad

Tags

Meta

Compiling MySQL Native Bindings on OS X + MacPorts

 Playing around with the partitions on my mac yesterday, i accidently deleted the efi partition (dumb of me, i know), but I figured it was about time for a reload, so i just sucked it up and wiped the mac clean. 

Going through and installing all the stuff i needed for development, i ran into a problem installing the native mysql bindings for ruby.

 

[host-192-168-254-149:~] pjdavis% sudo gem install mysql
Bulk updating Gem source index for: http://gems.rubyforge.org/
Building native extensions.  This could take a while…
ERROR:  Error installing mysql:
        ERROR: Failed to build gem native extension.
/opt/local/bin/ruby extconf.rb install mysql
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
*** 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=/opt/local/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
Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /opt/local/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out

 

I had installed mysql with macports, and that is what was causing the problem. Turns out gem can’t find everything it needs to compile the mysql bindings. Instead of just
sudo gem install mysql

try

sudo gem install mysql -- \
--with-mysql-include=/usr/local/mysql/include/ \
--with-mysql-lib=/usr/local/mysql/lib/ \
--with-mysql-config=/usr/local/mysql/bin/mysql_config

if you installed mysql through macports or porticus. 

Hope this helps everyone

 

 

Tags: , , , , ,

Write a comment