1. ホーム
  2. mysql

[解決済み] mysql2 gemでアプリをインストールしようとするとエラーになる。

2023-01-03 13:49:26

質問

オープンソースの rails 3.2.21 アプリケーションをインストールしようとしているのですが、そのアプリケーションでは mysql2 gem を使用するオープンソースの rails 3.2.21 アプリケーションをインストールしようとしています。 bundle コマンドを実行しようとすると、次のようなエラーが発生します。

Fetching: mysql2-0.3.18.gem (100%)
Building native extensions.  This could take a while...
p
ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.

    /Users/my_username/.rvm/rubies/ruby-2.1.2/bin/ruby -r ./siteconf20150614-72129-orqsb7.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()... yes
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.6.25/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: warning: directory not found for option '-L/Users/travis/.sm/pkg/active/lib'
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/my_username/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/mysql2-0.3.18 for inspection.
Results logged to /Users/my_username/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/extensions/x86

の各バージョンをアンインストールしてみました。 mysql homebrew経由でインストールしたものを、このように再インストールしてみました。

brew uninstall --force mysql && brew install mysql

次に実行。

sudo gem install mysql2

ここで質問された多くの同様の質問によって提案されたように、しかし、それはまだ上記のように同じエラーになります。

どなたか、これを起動する方法についてご指導いただけないでしょうか。

どのように解決するのですか?

エラーログに書かれています。

ld: library not found for -lssl

で、インストールするのは libssl :

brew install openssl


コメントで指摘されているように、ライブラリへのパスをエクスポートする必要性があるかもしれません。

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/