gem install mysql fail

36,153

Solution 1

Solved the problem by uninstalling 32-bit MySQL thats on my system.. and installed 5.1.56 64-bit.

Hope this is helpful to others who's having the same problem as me..

Solution 2

The program 'mysql_config' is currently not installed. You can install it by typing:

$ sudo apt-get install libmysqlclient-dev
$ bundle install

bundle show [mysql2] # To find the location.

Solution 3

Try this:

gem install mysql -- --with-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config

(Note the extra dashes)

If that doesn't work, I highly recommend going with the homebrew installation mentioned above of MySQL. You can read about a soup-to-nuts installation here: Uninstall Ruby on Rails on Mac OS X 10.6

Solution 4

I had the same issue in Cent OS, but got it resolved by installing mysql-devel

 yum install mysql mysql-server mysql-devel

Solution 5

Based on this answer I ended up editing my /usr/local/Cellar/mysql/5.6.12/bin/mysql_config file to remove -Wno-null-conversion -Wno-unused-private-field, which is what the error the mkmf.log was complaining about.

My setup is Mac OSX with Ruby installed using RVM and MySQL installed using homebrew.

Share:
36,153
Kyle
Author by

Kyle

Updated on March 15, 2021

Comments

  • Kyle
    Kyle about 3 years

    I've followed the instructions on http://geryit.com/blog/2011/01/installing-mysql-with-rails-on-mac-os-x-snow-leopard/ , including the installation of ruby via macport.

    Whenever I execute gem install mysql , I'll get the following error

    bash-3.2# gem install mysql
    Building native extensions.  This could take a while...
    ERROR:  Error installing mysql:
        ERROR: Failed to build gem native extension.
    
            /opt/local/bin/ruby extconf.rb
    checking for mysql_ssl_set()... no
    checking for rb_str_set_len()... no
    checking for rb_thread_start_timer()... no
    checking for mysql.h... no
    checking for mysql/mysql.h... 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
        --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=/opt/local/bin/ruby
        --with-mysql-config
        --without-mysql-config
    
    
    Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
    Results logged to /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
    

    How can I resolve this issue ? I've installed the 32-bit mysql using the package file (.pkg) and also, I'm extremely new to ruby...

    Update 4/26/11 5:11pm EST Installed RVM and updated ruby to 1.9.2 Also I have looked through the links posted on the comments. I did locate mysql_config and results were

    /usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config
    /usr/local/mysql-5.1.56-osx10.6-x86/man/man1/mysql_config.1
    

    Hence, I tried gem install mysql - -with-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config but it still doesn't work... I did get new error information however..

    /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
    You have to install development tools first.
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
        from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
        from extconf.rb:50:in `<main>'
    
    
    Gem files will remain installed in /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/bin/th-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config/gems/mysql-2.8.1 for inspection.
    

    Really wish to thank those who commented... and really appreciate if more help can be given..... been trying to get the darn mysql installed for 2 days...

  • Kyle
    Kyle about 13 years
    I have installed homebrew. Could you go about showing me how to install mysql gem with that ? I'm reading the wiki on Gems, Eggs and Perl Modules. It doesn't explain much tho...
  • Danny
    Danny over 12 years
    a tip for mac users: use finder and do 'go to folder' to find your mysql installation. once you've found the config file, drag the mysql_config icon from finder into terminal to have the path in your terminal window
  • James McMahon
    James McMahon almost 11 years
    For homebrew 0.9.4 path is /usr/local/Cellar/mysql/<version>/bin, but it still isn't working for me...
  • Daniel Lang
    Daniel Lang over 10 years
    Thank you so much! After messing around for 3 hours this is the only thing that helped!
  • sent1nel
    sent1nel over 10 years
    Same worked for me. I'm also using Ruby (1.9.3) through RVM and MySQL through brew.
  • Andrew Arrow
    Andrew Arrow over 7 years
    I AGREE GOLD! also for rails I added: bundle config build.mysql2 --with-mysql-config=/usr/local/Cellar/mysql55/5.5.49/bin/mys‌​ql_config