When you install
mysql2 with gem, if you ran into a weird issue such as
error: size of array ‘ruby_check_sizeof_long’ is negative,
it must be caused by the arch of mysql binary you installed.
ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb --with-mysql-config=~/.kiidev/usr/mysql-5.5.28-osx10.6-x86/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 /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32, from ./mysql2_ext.h:8, from client.c:1: /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:105: error: size of array ‘ruby_check_sizeof_long’ is negative /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:109: error: size of array ‘ruby_check_sizeof_voidp’ is negative In file included from /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/intern.h:34, from /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:1382, from /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32, from ./mysql2_ext.h:8, from client.c:1: /Users/tsakuma/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/st.h:67: error: size of array ‘st_check_for_sizeof_st_index_t’ is negative lipo: can't open input file: /var/folders/nh/0mswhyh930737hfwj9xqbzp40000gn/T//ccjcncjn.out (No such file or directory) make: *** [client.o] Error 1 Gem files will remain installed in /Users/tsakuma/.rvm/gems/ruby-1.9.3-p327/gems/mysql2-0.3.11 for inspection. Results logged to /Users/tsakuma/.rvm/gems/ruby-1.9.3-p327/gems/mysql2-0.3.11/ext/mysql2/gem_make.out
Download a new archive from the download page.
So you start installing again like:
gem install mysql2 --no-ri --no-rdoc -- --with-mysql-config=$YOUR_MYSQL_HOME/bin/mysql_config Successfully installed mysql2-0.3.11 1 gem installed
The answer on the Stack Overflow was helpful for me.