MySQL Installation Issues

Hello-

Trying to get rails up and running on my linux box with mysql. When I try to install the mysql gem, I get the following:

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/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

I've tried setting the config option and other various things when running 'gem install'.

Anyone know how to get around this? Thanks very much.

cd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7 gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

Thanks for the quick response.

No success with that either:

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 -- --with-mysql-config=/usr/local/mysql/ bin/mysql_config extconf.rb:1: command not found: /usr/local/mysql/bin/mysql_config -- cflags *** 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

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

This is still not working and I have tried almost every configuration option possible.

As a side question...when you run 'gem install mysql', what exactly does this do?

Does it create a binding to an already installed version of MySQL? Does it install MySQL??

Thanks!

It compiles and installs a mysql driver used by ruby. You must have a previously installed version of mysql including headers and libraries.

-Bill

pete wrote:

Thanks Bill.

Is there a dependency on the version of MySQL, I believe I am running an older version.

It should work ok with 4.1or 5, but if I remember right, it recommends 5. I am using the latest 5 with no problems (5.0.45 I think).

-Bill

pete wrote:

What about MySQL client? I don't believe the client is installed, only the server.

It’s very possible that it is looking for libmysqlclient (I am almost positive it does). Install the client / client libs and see if that solves your problem.

-Bill

pete wrote:

Greg Donald wrote:

I found a blog post that solves this problem ( Nathan Manzi's Blog ) and I turned it into a script so that you just have to run "./ install_mysql_ruby_adapter"

http://github.com/thirdreplicator/install_mysql_ruby_adapter_for_ruby1.9/tree/master

I run Ruby 1.9.1 on Ubuntu 8.04/8.10 and CentOS 5.2 with root access.

David :slight_smile:

Greg Donald wrote:

cd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7 gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config -- Greg Donald http://destiney.com/

Worked for me too.

I got it working following these steps:

1. Install mysql-devel "yum install mysql-devel" as root 2. Find the location of mysql_config "locate mysql_config" and fix that full path to "--with-mysql-config=" option 3. Success!

Best regards.

Kirk Howard wrote:

Whenever you can't build "native extensions", it means there is some lib or lib-dev missing. Generally you'll need to do a sudo apt-get install lib-???-dev, or sudo apt-get install build_essential.

This time, I had to install the following: 'sudo apt-get install libmysqlclient15-dev'

Thanx this worked well tho the ri docs did not install (I think)

Terminal output:

Successfully installed mysql-2.8.1 1 gem installed Installing ri documentation for mysql-2.8.1...

No definition for next_result

No definition for field_name

No definition for field_table

............

etc etc

Does this mean another file is missing and is not having ri docs any big deal?

Abraham Tio wrote:

cd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7 gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config Greg Donald http://destiney.com/

YUP. this works.

newbie question...

I was able to get an error free install on OSX Leopard 10.6.2 with the following. The first cds to the mysql gem location of my Leopard install (may differ for others):

cd /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 sudo gem install mysql --no-rdoc --no-ri -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

There were many "No definition for..." RDoc and Ri errors otherwise.

Just starting my first Ruby project... and not so comfortable with this install of the mysql gem. I expect there's possibly serious ramifications of excluding these two processes. Can anybody tell us what are we missing by resorting to these install parameters; and/or how can we install with ri and rdoc successfully?

tia

m

ri and rdoc are just for documentation of the gem. Google them to find details. Not having them will not affect the operation of the gem.

Colin

Colin Law wrote:

ri and rdoc are just for documentation of the gem. Google them to find details. Not having them will not affect the operation of the gem.

Colin

Thanks Colin. I quickly found that out. I've posted instructions for resolving this issue at MySQL:

http://forums.mysql.com/read.php?116,359591,359591#msg-359591

The described process determines vital paths for successful installation on potentially any system.

Mike Montagne wrote:

Abraham Tio wrote:

cd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7 gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config Greg Donald http://destiney.com/

YUP. this works.

newbie question...

I was able to get an error free install on OSX Leopard 10.6.2 with the following. The first cds to the mysql gem location of my Leopard install (may differ for others):

cd /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 sudo gem install mysql --no-rdoc --no-ri -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

There were many "No definition for..." RDoc and Ri errors otherwise.

Just starting my first Ruby project... and not so comfortable with this install of the mysql gem. I expect there's possibly serious ramifications of excluding these two processes. Can anybody tell us what are we missing by resorting to these install parameters; and/or how can we install with ri and rdoc successfully?

tia

m

Yay! After much irc and googling, at last, I found your recent entry Mike and I also was able to get an error free install on OS X 10.6.3 with $ sudo gem install mysql --no-rdoc --no-ri -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

TX! huuan

apt-get install libmysqld-dev

will be ok .

Wainer Moschetta wrote in post #773714:

I was facing this same issue. I just installed libmysqlclient15-dev on my syste (ubuntu 8.10) and could get gem mysql installed successfully

William Pratt wrote:

It's very possible that it is looking for libmysqlclient (I am almost positive it does). Install the client / client libs and see if that solves your problem.

-Bill

thanks. I installed libmysqlclient16-dev, everything worked.