mysql2 gem installation fails

10,862

Solution 1

I got this working:

 wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-devel-5.5.27-1.el6.x86_64.rpm 

 rpm -Uvh MySQL-devel-5.5.27-1.el6.x86_64.rpm 

 gem install mysql 

 gem install mysql2

Solution 2

have you installed mysql ? if not do so also you need to install the mysql dev files for native compilation of gem

sudo yum install mysql-devel

check this already explained Errors Installing mysql2 gem via the Bundler

Solution 3

if get the error like this

$ sudo yum install mysql-devel

Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
10gen                                                                                                                                                      | 2.5 kB     00:00
base                                                                                                                                                       | 3.7 kB     00:00
centosplus                                                                                                                                                 | 3.4 kB     00:00
Not using downloaded repomd.xml because it is older than what we have:
  Current   : Wed Feb 12 07:03:25 2014
  Downloaded: Sat Jan  4 21:29:15 2014
contrib                                                                                                                                                    | 2.9 kB     00:00
epel                                                                                                                                                       | 4.2 kB     00:00
epel/primary_db                                                                                                                                            | 5.9 MB     00:00
extras                                                                                                                                                     | 3.4 kB     00:00
newrelic                                                                                                                                                   |  951 B     00:00
rpmforge                                                                                                                                                   | 1.9 kB     00:00
rpmforge-extras                                                                                                                                            | 1.9 kB     00:00
ucloud                                                                                                                                                     | 1.3 kB     00:00
updates                                                                                                                                                    | 3.4 kB     00:00
updates/primary_db                                                                                                                                         | 2.0 MB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-devel.x86_64 0:5.1.73-3.el6_5 will be installed
--> Processing Dependency: mysql = 5.1.73-3.el6_5 for package: mysql-devel-5.1.73-3.el6_5.x86_64
--> Finished Dependency Resolution
Error: Package: mysql-devel-5.1.73-3.el6_5.x86_64 (updates)
           Requires: mysql = 5.1.73-3.el6_5
           Installed: mysql-5.5.34-1.el6.remi.x86_64 (@remi)
               mysql = 5.5.34-1.el6.remi
           Available: mysql-5.1.71-1.el6.x86_64 (base)
               mysql = 5.1.71-1.el6
           Available: mysql-5.1.73-3.el6_5.x86_64 (updates)
               mysql = 5.1.73-3.el6_5
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

try this

sudo yum --enablerepo=remi -y install mysql-devel
Share:
10,862
JVK
Author by

JVK

Updated on June 14, 2022

Comments

  • JVK
    JVK almost 2 years

    My stack is as follows:

    • CentOS 6.3
    • Installed MySQL 5.5 (followed steps at http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/ because yum still has MySQL 5.1 and if I try to yum install any mysql related package, it will of course break as yum will expect 5.1)

      $> mysql --version mysql Ver 14.14 Distrib 5.5.27, for Linux (x86_64) using readline 5.1

      $> ruby --version ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

      $> rvm --version rvm 1.14.6 (stable) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

      $> uname -a Linux localhost.mkf 2.6.32-279.5.1.el6.x86_64 #1 SMP Tue Aug 14 23:54:45 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

      $> nginx -v nginx version: nginx/1.2.2

      $> rails -v Rails 3.2.6

    When I try to install mysql2 gem, I get following error:

    $> gem install mysql2
    Building native extensions.  This could take a while...
    ERROR:  Error installing mysql2:
            ERROR: Failed to build gem native extension.
    
            /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
    checking for rb_thread_blocking_region()... yes
    checking for rb_wait_for_single_fd()... yes
    checking for mysql.h... no
    checking for mysql/mysql.h... no
    -----
    mysql.h is missing.  please check your installation of mysql and try again.
    -----
    *** 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
    --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/rvm/rubies/ruby-1.9.3-p194/bin/ruby
    --with-mysql-config
    --without-mysql-config
    
    
    Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11       for inspection.
    Results logged to /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-    0.3.11/ext/mysql2/gem_make.out
    

    When I do

    $> find / -name mysql.h  
    

    I get nothing

    Mysql is running properly and I have already created db and tables in it and sql are running without any issue.

    Is it possible to have mysql2 gem installed in my stack? If so then any idea what I am missing?

    UPDATE : I tried yum install mysql-devel it throws error because I have mysql5.5 installed, using Remi repository. While Yum expects mySql 5.1

  • JVK
    JVK over 11 years
    yum install mysql-devel throws error because I have mysql5.5 installed, using Remi repository. While Yum expects mySql 5.1
  • JVK
    JVK over 11 years
    Finally I found how it can be fixed. I had installed mysql-devel version in Remi repo. yum --enablerepo=remi,remi-test install mysql-devel and then gem install mysql2 Boom.. done. Thanks @tadman for the hint.
  • Pritesh Jain
    Pritesh Jain over 11 years
    may be you can download it from here mysql.ntu.edu.tw/Downloads/MySQL-5.5
  • tom
    tom over 9 years
    This link is out of date. @PriteshJ's answer is correct.
  • Bug
    Bug over 8 years
    Choose the correct download from this link dev.mysql.com/downloads/mysql/5.6.html#downloads