Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL2 with native extensions ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

I am trying to install the gem mysql2 for Ruby Enterprise Edition. I am getting error that says:

    Installing mysql2 (0.2.7) with native extensions /Users/rookieRails/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/installer.rb:551:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

        /Users/vinayashrestha/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... no
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

Does anyone have any idea what configuration options I should use, or whatever I need to to to get this fixed?

like image 956
rookieRailer Avatar asked Aug 24 '11 05:08

rookieRailer


4 Answers

Try with this, it worked for me:

sudo apt-get install libmysql-ruby libmysqlclient-dev
like image 161
Ganesh Mohan Avatar answered Nov 07 '22 00:11

Ganesh Mohan


If you're using rvm, don't install libmysql-ruby because it's related with Ruby included in Ubuntu packages. It should be good enough with:

sudo apt-get install libmysqlclient-dev 
like image 23
Alter Lagos Avatar answered Nov 06 '22 23:11

Alter Lagos


In my case only unlinking symlinks and reinstalling mysql in brew helped:

brew unlink mysql
brew cleanup
brew install mysql
gem install mysql2
like image 6
zhrivodkin Avatar answered Nov 07 '22 00:11

zhrivodkin


I realized I didn't have mySQL installed, I recently upgraded to Lion, and had forgotten to install mySQL. Still, after that I got some issues, I followed this article to setup everything:

http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard

And now everything works fine.

like image 3
rookieRailer Avatar answered Nov 07 '22 00:11

rookieRailer