Unable to install mysql2 gem on windows 7

I am getting the following error message while installing, let me know
if any one needs some more details. I followed instruction from
Development Kit · oneclick/rubyinstaller Wiki · GitHub”.

I am using ruby 1.9.2p136 (2010-12-25) [i386-mingw32].

E:\work_desk\trunk>gem install mysql2 -v 0.2.4
Temporarily enhancing PATH to include DevKit…
Building native extensions. This could take a while…
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.

C:/Ruby192/bin/ruby.exe extconf.rb
checking for rb_thread_blocking_region()… yes
checking for main() in -llibmysql… 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=C:/Ruby192/bin/ruby
–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-libmysqllib
–without-libmysqllib

Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/
mysql2-0.
2.4 for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.4/ext/
mysql2/ge
m_make.out

On Mar 20, 10:50am, lohith MV [email protected] wrote:

ERROR: Failed to build gem native extension.
--with-opt-dir
--with-mysql-dir

2.4 for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.4/ext/
mysql2/ge
m_make.out

You have to include path to mysql header and library files:

gem install mysql2 – --with-mysql-include=c:/path/to/mysql/include –
with-mysql-lib=c:/path/to/mysql/lib

Hi,

Problem solved by changing “c:\Program Files\MySQL\MySQL Server 5.5\lib
\opt” to “c:\Program Files\MySQL\MySQL Server 5.5\lib”.
For details, refer to “http://rorguide.blogspot.com/2011/03/installing-
mysql2-gem-on-ruby-192-and.html”

Thanks
Ritesh Kumar

I make all the steps of the DEVKIT and this others steps, but my
problem is when you traid to make the 10 step of the link, it show me
the same error. the only diference is that my server is MySQL server
5.5

I cannot undelete my previous post, so I post again:

With the suggestion from Ritesh the install works without problems, but
the gem and the libmysql.dll are incompatible.

C:\Programming\test>rake db:create RAILS_ENV=’development’
(in C:/Programming/test)
rake aborted!
Incorrect MySQL client library version! This gem was compiled for 5.5.12
but the
client library is 6.0.0.
C:/Ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.3.2/lib/mysql2.rb:8:in
require’ C:/Ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.3.2/lib/mysql2.rb:8:in

A warning should be sufficient …

It doesn’t seem like MySQL archives the older versions of libmysql.dll
(5.5.12).

Any Ideas how to get around this?

Thanks,

Willi

Willi,

This is how I solved this problem:

Copy “libmysql.dll” from /lib to /bin

  • Thanks
    Adarsh

On Apr 7, 12:30am, Ppillo [email protected] wrote:

I make all the steps of the DEVKIT and this others steps, but my
problem is when you traid to make the 10 step of the link, it show me
the same error. the only diference is that my server is MySQL server
5.5

http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-19

Are you using a 64bits MySQL?

If that is the case, you need to read this:

I recommend than instead of playing with your MySQL installation
download MySQL Connector/C (32bits version), extract it to a folder
without paths and use it as options during gem installation:

gem install mysql2 – --with-mysql-include=C:/connector/include --with-
mysql-lib=C:/connector/lib

HTH,

Luis L.

On May 13, 12:27pm, “Willi W.” [email protected] wrote:

It doesn’t seem like MySQL archives the older versions of libmysql.dll
(5.5.12).

Any Ideas how to get around this?

Yes, what you need to do is compile the gem instead of using the
binary.

If you have installed the DevKit, you only need to add --platform=ruby
to the gem install command:

gem install mysql2 --platform=ruby – --with-mysql-include=C:/
connector/include --with-mysql-lib=C:/connector/lib


Luis L.

Thanks to all, this is a good tutorial,

Javier A…

Ritesh Kumar wrote in post #991677:

Hi,

Problem solved by changing “c:\Program Files\MySQL\MySQL Server 5.5\lib
\opt” to “c:\Program Files\MySQL\MySQL Server 5.5\lib”.
For details, refer to “http://rorguide.blogspot.com/2011/03/installing-
mysql2-gem-on-ruby-192-and.html”

Thanks
Ritesh Kumar

Thanks to all good comments here! I solved it thanks to you.
With rails 3.0.3 on windows I ended up with this.
0. install rails 3.0.7
gem install rails -v 3.0.7

  1. Install devKit
    (Development Kit · oneclick/rubyinstaller Wiki · GitHub)
    cd devKit_install_dir
    ruby dk.rb init
    (check that your Ruby dir is correct in the generated config.yml (keep
    the ‘-’ i the line)

  2. I needed to use mysql2 ver 0.2.6:
    gem install mysql2 -v 0.2.7 --platform=ruby –
    ‘–with-mysql-lib=“<My_Ruby_lib_dir>”
    –with-mysql-include=“<My_mysql_include_dir>”’
    e.g: gem install mysql2 -v 0.2.7 --platform=ruby –
    ‘–with-mysql-lib=“C:\Ruby192\lib” --with-mysql-include=“c:\Program
    Files\MySQL\MySQL Server 5.5\include”’

  3. Copied libmysql.dll from <My_mysql_lib_dir> to <My_Ruby_lib_dir>
    e.g: libmysql.dll from C:\Program Files\MySQL\MySQL Server 5.5\lib to
    c:\Ryby1.9.2\lib\

  4. Rake 0.9.x fails with rails 3.0.x. Downgrade to rake 0.8.7:
    gem uninstall rake
    gem install rake -v 0.8.7
    bundle update rake

  5. bundle all this:
    rails new <app_name> -d mysql
    cd <app_name>
    make sure your Gemfil in <app_name> directory contains this:
    gem ‘rails’, ‘3.0.7’
    gem “rake”, “0.8.7”
    gem ‘mysql2’ , ‘0.2.6’

bundle update
bundle install
rake db:create

Works for me.

END.
Thanks again for all help!

Willi W. wrote in post #998555:

I cannot undelete my previous post, so I post again:

With the suggestion from Ritesh the install works without problems, but
the gem and the libmysql.dll are incompatible.

C:\Programming\test>rake db:create RAILS_ENV=’development’
(in C:/Programming/test)
rake aborted!
Incorrect MySQL client library version! This gem was compiled for 5.5.12
but the
client library is 6.0.0.
C:/Ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.3.2/lib/mysql2.rb:8:in
require’ C:/Ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.3.2/lib/mysql2.rb:8:in

A warning should be sufficient …

It doesn’t seem like MySQL archives the older versions of libmysql.dll
(5.5.12).

Any Ideas how to get around this?

Thanks,

Willi

Instructions here might help if you are still blocked –

forgot this in my post:

a) ruby dk.rb install at the end for the devKit part below (no 1)
and
b)in the mysql2 part below (nr 2) use 0.2.6:
gem install mysql2 -v 0.2.6 --platform=ruby – '–wit…

Thanks

Gjermund Lunder wrote in post #1008021:

Thanks to all good comments here! I solved it thanks to you.
With rails 3.0.3 on windows I ended up with this.
0. install rails 3.0.7
gem install rails -v 3.0.7

  1. Install devKit
    (Development Kit · oneclick/rubyinstaller Wiki · GitHub)
    cd devKit_install_dir
    ruby dk.rb init
    (check that your Ruby dir is correct in the generated config.yml (keep
    the ‘-’ i the line)

  2. I needed to use mysql2 ver 0.2.6:
    gem install mysql2 -v 0.2.7 --platform=ruby –
    ‘–with-mysql-lib=“<My_Ruby_lib_dir>”
    –with-mysql-include=“<My_mysql_include_dir>”’
    e.g: gem install mysql2 -v 0.2.7 --platform=ruby –
    ‘–with-mysql-lib=“C:\Ruby192\lib” --with-mysql-include=“c:\Program
    Files\MySQL\MySQL Server 5.5\include”’

  3. Cop…