Reputation: 3231
Attempting to install a specific version Mysql2 Gem. And I get this:
sudo gem install mysql2 -v '0.3.20'
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/usr/local/var/rbenv/versions/2.2.3/bin/ruby -r ./siteconf20161017-56699-1dsu6v9.rb extconf.rb
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
-----
Using mysql_config at /usr/local/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.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/5.7.16/lib
-----
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling client.c
compiling infile.c
compiling mysql2_ext.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
For reference I ran brew install mysql
beforehand and it ran successfully. Also I tried uninstalling all versions of brew
's mysql references just in case.
Is there something im missing? I've looked around and most pages point back to making sure you run brew install mysql
which I have.
In case I wasn't more clear with my above explanation, the failure I am getting is after successfully running brew install mysql
the error is from trying to install the gem afterwards via gem install mysql2 -v '0.3.20'
Any idea? Thanks
Upvotes: 2
Views: 1475
Reputation: 800
How to make it work on MacOS Mojave.
Make sure openssl
is installed on Mac via Homebrew:
brew install openssl
Then install mysql2
gem following this special way:
gem install mysql2 -v 'x.x.x' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
where x.x.x - specified version of the mysql2 gem.
Upvotes: 4
Reputation: 3231
Just for reference what ended up working was xcode-select --install
which seemed to install the OpenSSL libraries which took care of the ld: library not found for -lssl
issue.
Upvotes: 3