0

I'm getting this same error message as all of you, but I'm on a Mac (10.8), using Rails4 and Ruby2 and RubyMine (IDE).

/Users/eric/.rvm/rubies/ruby-2.0.0-p195/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/eric/Rubymine/Chroma/bin/bundle install
Fetching gem metadata from https://rubygems.org/........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
...
...
...
Installing mysql2 (0.3.11) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/Users/eric/.rvm/rubies/ruby-2.0.0-p195/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
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... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
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
--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=/Users/eric/.rvm/rubies/ruby-2.0.0-p195/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}/
--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
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib

Gem files will remain installed in /Users/eric/.rvm/gems/ruby-2.0.0-p195@global/gems/mysql2-0.3.11 for inspection.
Results logged to /Users/eric/.rvm/gems/ruby-2.0.0-p195@global/gems/mysql2-0.3.11/ext/mysql2/gem_make.out
An error occurred while installing mysql2 (0.3.11), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling.

Process finished with exit code 5

I have tried a number of other things from around the web as well: - Running gem install mysql2 from the command line gets me the same message as above. - Running gem 'mysql2' gets me this error: ERROR: While executing gem ... (Gem::CommandLineError) Unknown command mysql2 even though I have it it my Gemfile: http://d.pr/n/jc3i - I have tried adding rvm install libmysql-ruby hoping that would fix it.. nope..

I should mention this is my first real foray into RoR, so it's quite possible I'm the problem... I've looked all over StackOverflow and haven't really had any luck there either. Any help would be greatly appreciated.

1 Answers1

0

I used to run into this problem all the time. Have you tried installing the gem against the MySQL install:

env ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-dir=/usr/local/mysql

(note the double double dashes… they are intended)

Of course your MySQL installation might be somewhere else, so adjust accordingly.

I also remember having to relink the libmysqlclient.18.dylib but that may not be necessary anymore. For reference, it went like so:

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /Users/levifig/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle

Hope this gets you in the right direction. If not, I'll try to help anyway… :)

levifig
  • 510
  • 6
  • 11