When installing the mysql ruby gem you may run across the above error in the log file. If so you need to add some configuration switches to the gem install command as shown below.
Install Command for CentOS 64 Bit Server:
- [root@server ~]# env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/lib64/mysql/mysql_config -with-mysql-dir=/var/lib/mysql
When the gem installs properly you will see output similar to the below.
- Building native extensions. This could take a while...
- Successfully installed mysql-2.7
- 1 gem installed
The first attempt at installing the mysql gem without the extra configuration options.
- [root@server ~]# gem install mysql
- Building native extensions. This could take a while...
- ERROR: Error installing mysql:
- ERROR: Failed to build gem native extension.
- /usr/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... yes
- 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=/usr/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 /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
- Results logged to /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out
As you can see in the errors during the installation attempt it is having trouble finding any MySQL related libraries, etc. Pointing the installation application to the proper directory and configuration file will allow it to install properly.
Thanks, it saved me some time and frustration
Hello avh,
Glad to hear it! Nothing wrong with saving time on ruby gem installs!
-Alex
much thanks! it helped me too
Hello e,
Good deal. Thanks for taking the time to leave a comment!