Got an error message when you install the mysql2 gem in Ubuntu? Before you install mysql2, make sure you have libmysqlclient-dev installed or you’ll get the following:

[code lang=“bash”]kahwee@kahwee-desktop:/$ gem install mysql2

Building native extensions. This could take a while…

ERROR: Error installing mysql2:

ERROR: Failed to build gem native extension.

/home/kahwee/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb

checking for rb_thread_blocking_region()… yes

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… yes

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=/home/kahwee/.rvm/rubies/ruby-1.9.2-p0/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 /home/kahwee/.rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.6 for inspection.

Results logged to /home/kahwee/.rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.6/ext/mysql2/gem_make.out[/code]

To resolve it, install libmysqlclient-dev:

[code lang=“bash”]sudo apt-get install libmysqlclient-dev[/code]

And now you can install mysql2 successful:

[code lang=“bash”]kahwee@kahwee-desktop:/$ gem install mysql2

Building native extensions. This could take a while…

Successfully installed mysql2-0.2.6

1 gem installed

Installing ri documentation for mysql2-0.2.6…

Installing RDoc documentation for mysql2-0.2.6…[/code]

Great!

[I tried this on Ubuntu 10.10.]

comments powered by Disqus