msmith1114
msmith1114

Reputation: 3231

Error Installing Mysql2 on OSX

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

Answers (2)

k1r8r0wn
k1r8r0wn

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

msmith1114
msmith1114

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

Related Questions