I recently tried to install the mysql2 gem and was presented with the following error. I was on El Capitan 10.11.6 and using ruby 1.9.3-p125.
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/…/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb 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 couldn’t understand kern.osversion `15.6.0’ compiling mysql2_ext.c couldn’t understand kern.osversion `15.6.0’ compiling result.c couldn’t understand kern.osversion `15.6.0’ linking shared-object mysql2/mysql2.bundle couldn’t understand kern.osversion `15.6.0’ ld: -rpath can only be used when targeting Mac OS X 10.5 or later collect2: ld returned 1 exit status make: *** [mysql2.bundle] Error 1 Gem files will remain installed in /Users/…/vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11 for inspection. Results logged to /Users/…/vendor/bundle/ruby/1.9.1/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.
After some searching I found out the solution was to install the gem by setting the Mac Deployment Target as so:
MACOSX_DEPLOYMENT_TARGET=10.9 gem install mysql2
Hope this helps someone else in the future!