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 mysqlBulk 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 mysqlchecking for mysql_query() in -lmysqlclient… nochecking for main() in -lm… yeschecking for mysql_query() in -lmysqlclient… nochecking for main() in -lz… yeschecking for mysql_query() in -lmysqlclient… nochecking for main() in -lsocket… nochecking for mysql_query() in -lmysqlclient… nochecking for main() in -lnsl… nochecking for mysql_query() in -lmysqlclient… no*** extconf.rb failed ***Could not create Makefile due to some reason, probably lack ofnecessary libraries and/or headers. Check the mkmf.log file for moredetails. 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-mysqlclientlibGem 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
Posted: June 20th, 2008 under Ruby on Rails.
Comments: none
Write a comment