Unable to install MySQL on Mac OS X
installation, macos, mysql, ruby-on-rails, rubygems
Solution
for some reason (maybe because i'm using rubygems 1.3.7 or installing mysql-2.8.1)
sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
did not work for me so after taking a look at gems/mysql-2.8.1/ext/mysql_api/extconf.rb i found out that the extconf.rb looks in the PATH for mysql_config so i tried
export PATH=$PATH:/usr/local/mysql/bin
sudo gem install mysql
and did the job
Problem
I'm having the exact issue as described in this question: MYSQL Installation Troubles. Unfortunately none of the answers helped me (and it's closed). I try to learn Ruby on Rails and don't get MySQL working (so it is programming related). I typed: `rake db:create` and got: ``` !!!The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! no such file to load -- mysql (See full trace by running task with --trace) HD-Auckland:shoutbox max$ gem install mysql WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and /usr/bin aren't both writable. WARNING: You don't have /Users/max/.gem/ruby/1.8/bin in your PATH, gem executables will not run. Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb 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. Gem files will remain installed in /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1 for inspection. Results logged to /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out ``` So as it told me I tried `sudo gem install mysql` and got: ``` 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_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 --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=/opt/local/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}/lib --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 /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 ``` I also tried this command `sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config` and got the same error! What can I do? I only want to migrate my db to the MySQL server! Thanks for help, Mexx Update: Thanks for all the great response! Yes, I am on Snow Leopard. I downloaded mysql from here http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg and installed it. I then followed Hivelogic's guide for the mysql installation. when I now type: `sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config`or `sudo gem istall mysql` or `sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql` I will get: ``` Building native extensions. This could take a while... fotoSuccessfully installed mysql-2.8.1 1 gem installed Installing ri documentation for mysql-2.8.1... No definition for next_result No definition for field_name No definition for field_table No definition for field_def No definition for field_type No definition for field_length No definition for field_max_length No definition for field_flags No definition for field_decimals No definition for time_inspect No definition for time_to_s No definition for time_get_year No definition for time_get_month No definition for time_get_day No definition for time_get_hour No definition for time_get_minute No definition for time_get_second No definition for time_get_neg No definition for time_get_second_part No definition for time_set_year No definition for time_set_month No definition for time_set_day No definition for time_set_hour No definition for time_set_minute No definition for time_set_second No definition for time_set_neg No definition for time_set_second_part No definition for time_equal No definition for error_errno No definition for error_sqlstate Installing RDoc documentation for mysql-2.8.1... No definition for next_result No definition for field_name No definition for field_table No definition for field_def No definition for field_type No definition for field_length No definition for field_max_length No definition for field_flags No definition for field_decimals No definition for time_inspect No definition for time_to_s No definition for time_get_year No definition for time_get_month No definition for time_get_day No definition for time_get_hour No definition for time_get_minute No definition for time_get_second No definition for time_get_neg No definition for time_get_second_part No definition for time_set_year No definition for time_set_month No definition for time_set_day No definition for time_set_hour No definition for time_set_minute No definition for time_set_second No definition for time_set_neg No definition for time_set_second_part No definition for time_equal No definition for error_errno No definition for error_sqlstate ``` And doing `rake db:create` will end up with: ``` (in /Users/max/rails/shoutbox) !!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! no such file to load -- mysql (See full trace by running task with --trace) ```