-1

I try to install mysql2 gem with "gem install mysql2 -v '0.4.10'" on MacOS but always found this error.

    ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

    current directory: /Users/sakuto/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/mysql2-0.4.10/ext/mysql2

 - /Users/sakuto/.rbenv/versions/2.3.3/bin/ruby -r
   ./siteconf20190212-14889-1xapc5p.rb extconf.rb checking for
   rb_absint_size()... yes checking for rb_absint_singlebit_p()... yes
   checking for ruby/thread.h... yes checking for
   rb_thread_call_without_gvl() in ruby/thread.h... yes checking for
   rb_thread_blocking_region()... no checking for
   rb_wait_for_single_fd()... yes checking for rb_hash_dup()... yes
   checking for rb_intern3()... yes checking for rb_big_cmp()... yes
   ----- Using mysql_config at /usr/local/bin/mysql_config
   ----- checking for mysql.h... yes checking for errmsg.h... yes checking for SSL_MODE_DISABLED in mysql.h... yes checking for
   SSL_MODE_PREFERRED in mysql.h... yes checking for SSL_MODE_REQUIRED
   in mysql.h... yes checking for SSL_MODE_VERIFY_CA in mysql.h... yes
   checking for SSL_MODE_VERIFY_IDENTITY in mysql.h... yes checking for
   MYSQL.net.vio in mysql.h... yes checking for MYSQL.net.pvio in
   mysql.h... no checking for MYSQL_ENABLE_CLEARTEXT_PLUGIN in
   mysql.h... yes
   ----- Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load
   -----
   ----- Setting libpath to /usr/local/Cellar/mysql/8.0.15/lib
   ----- creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/sakuto/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-18/2.3.0-static/mysql2-0.4.10/mkmf.log

current directory:

/Users/sakuto/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/mysql2-0.4.10/ext/mysql2
make "DESTDIR=" clean

current directory:

/Users/sakuto/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/mysql2-0.4.10/ext/mysql2
make "DESTDIR=" compiling infile.c compiling client.c compiling
mysql2_ext.c compiling statement.c compiling result.c linking
shared-object mysql2/mysql2.bundle ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see
invocation) make: *** [mysql2.bundle] Error 1


make failed, exit code 2

Gem files will remain installed in

/Users/sakuto/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/mysql2-0.4.10

for inspection. Results logged to

/Users/sakuto/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-18/2.3.0-static/mysql2-0.4.10/gem_make.out
Tanay Sharma
  • 1,098
  • 10
  • 29
  • 1
    Have you already tried this? (https://stackoverflow.com/questions/22544754/failed-to-build-gem-native-extension-installing-compass) So if you are using Ubuntu try `apt-get install ruby-dev` and if you are using a mac `xcode-select --install`. I hope it helps. – Malte Kölle Feb 12 '19 at 08:18
  • Possible duplicate of [MySQL Install: ERROR: Failed to build gem native extension](https://stackoverflow.com/questions/2167598/mysql-install-error-failed-to-build-gem-native-extension) – SRack Feb 12 '19 at 08:22

1 Answers1

0

Try adding gem inside Gemfile in your ruby on rails project and run bundle install in command line.

for example:

gem 'mysql2', '~> 0.4.10'