|
|
Question : How to install MySQL Gem for use with Rails on Linux
|
|
Hi, I'm trying to install Rails on a SuSE Linux Enterprise Server 10.
I want to use Rails with a MySQL database, so I need to install the MySQL gem. I don't have it installed and as a consequence, I think, in the log files I see a lot of MySQL connection problems. The connection is severed on very many, but not all, requests. Sometimes is works, most of the time doesn't and the server dies (503)
When I try to install it fails: user@epf:~> sudo gem install mysql root's password: Bulk updating Gem source index for: http://gems.rubyforge.org Select which gem to install for your platform (x86_64-linux) 1. mysql 2.7.3 (mswin32) 2. mysql 2.7.1 (mswin32) 3. mysql 2.7 (ruby) 4. mysql 2.6 (ruby) 5. Skip this gem 6. Cancel installation > 3 Building native extensions. This could take a while... ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError) ERROR: Failed to build gem native extension.
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/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
In the readme is some information on alternatives for installing. These also fail, for example: ruby extconf.rb
ruby extconf.rb epf:/usr/lib/ruby/gems/1.8/gems/mysql-2.7 # ruby extconf.rb 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/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 epf:/usr/lib/ruby/gems/1.8/gems/mysql-2.7 #
Running the following is also not succesful:
ruby extconf.rb --with-mysql-dir= /usr/lib64/mysql ruby extconf.rb --without-mysqlclientlib env LD_RUN_PATH=/usr/lib64/ ruby extconf.rb
How can install the MySQL gem on SuSE Linux enterprise 10?
|
Answer : How to install MySQL Gem for use with Rails on Linux
|
|
From what you display it looks, that you first need to install mysql-client itself. If you already have it, try to search for 'dev' version of the package. I don't know SuSE packages exactly, but root cause of your problem is missing library called 'mysqlclient'. Probably it should be in /usr/lib or /usr/local/lib. You can verify it by trying to list it:
ls /usr/lib/libmysqlclient* ls /usr/local/lib/libmysqlclient*
If both result with "No such file or directory", you miss libraries.
|
|
|
|
|