Reputation: 75
im trying to install mysql2 gem after it failed to install on a bundle install. when i run
$ sudo gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
i get the following error:
Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension.
/Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb --with-mysql-config=/usr/local/mysql/bin/mysql_config
checking for rb_thread_blocking_region()... yes checking for rb_wait_for_single_fd()... yes checking for mysql.h... yes checking for errmsg.h... yes checking for mysqld_error.h... yes creating Makefile
make compiling client.c In file included from client.c:1: In file included from ./mysql2_ext.h:8: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32: /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:105:37: error: 'ruby_check_sizeof_long' declared as an array with a negative size typedef char ruby_check_sizeof_long[SIZEOF_LONG == sizeof(long) ? 1 : -1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from client.c:1: In file included from ./mysql2_ext.h:8: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:24: /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/x86_64-darwin11.4.2/ruby/config.h:24:21: note: instantiated from:
define SIZEOF_LONG 8
^ In file included from client.c:1: In file included from ./mysql2_ext.h:8: In file included from
/Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32: /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:109:38: error: 'ruby_check_sizeof_voidp' declared as an array with a negative size typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP == sizeof(void*) ? 1 : -1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from client.c:1: In file included from ./mysql2_ext.h:8: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:24: /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/x86_64-darwin11.4.2/ruby/config.h:28:22: note: instantiated from:
define SIZEOF_VOIDP 8
^ In file included from client.c:1: In file included from ./mysql2_ext.h:8: In file included from
/Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:1382: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/intern.h:34: /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/st.h:67:45: error: 'st_check_for_sizeof_st_index_t' declared as an array with a negative size typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP == (int)sizeof(st_index_t) ? 1 : -1]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from client.c:1: In file included from ./mysql2_ext.h:8: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32: In file included from /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:24: /Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/x86_64-darwin11.4.2/ruby/config.h:28:22: note: instantiated from:
define SIZEOF_VOIDP 8
^ 3 errors generated. make: *** [client.o] Error 1
Gem files will remain installed in /Users/jcollyer/.rvm/gems/ruby-1.9.3-p327/gems/mysql2-0.3.11 for inspection. Results logged to /Users/jcollyer/.rvm/gems/ruby-1.9.3-p327/gems/mysql2-0.3.11/ext/mysql2/gem_make.out
$ which ruby
/Users/jcollyer/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
$ where mysql
/usr/local/bin/mysql
what am i missing?
Upvotes: 0
Views: 770
Reputation: 2653
If you’re planning on using the mysql2 gem for your application then you’ll want to install the libmysqlclient-dev
package before you do that. For more detail:
http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/
Upvotes: 1
Reputation: 66
Try this hope it'll help
cd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7
gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
and if this doesn't work then install libmysqlclient15-dev
Whenever you can't build "native extensions", it means there is some lib or lib-dev missing. Generally you'll need to do a
sudo apt-get install
lib-???-dev
or
sudo apt-get install build_essential
.
'sudo apt-get install libmysqlclient15-dev'
Upvotes: 0