gem install mysql2 で -lssl 系のエラーが出たら
備忘録。
macOS Mojave 10.14.5 / Catalina 10.15.x で bundle install すると mysql2 あたりで失敗する。
以下 issue と似たような状況。
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
...
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
OpenSSL 周りのローカル設定に問題あるという意味なので同じ issue にあるコメントどおりにすると解決する。
brew install openssl
bundle config --global build.mysql2 --with-opt-dir="$(brew --prefix openssl)"
bundle install
OpenSSL がどう絡むのか詳細はこちらの記事が参考になる。
まず、ldはGNUリンカーと呼ばれるコマンドです
続いて、-lsslとは、mysql2 gemインストール時にldコマンドに与えられたオプションの一つです。
つまり、mysql2 gemはlibssl.dylibをライブラリ検索範囲から探してね、と指示している訳です。
いいなと思ったら応援しよう!
![らぷ/lap](https://assets.st-note.com/production/uploads/images/961344/profile_f499ee470795dcada4b453bd2e422b9d.png?width=600&crop=1:1,smart)