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 "https://github.com/oneclick/rubyinstaller/wiki/Development-Kit"\.

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

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

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

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

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

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 <MySql INstallation>/lib to <Ruby

/bin

- Thanks Adarsh

Thanks to all, this is a good tutorial,

Javier Abaroa.

Ritesh Kumar wrote in post #991677:

Are you using a 64bits MySQL?

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

https://github.com/oneclick/rubyinstaller/wiki/Troubleshooting#gems_mix_bits

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,

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

Instructions here might help if you are still blocked --