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 ( http://nmanzi.com/?p=39
) 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.