54
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rbenv installがopensslで失敗する

Last updated at Posted at 2019-12-10

2020-03-26追記: Ruby 2.3の場合を追加。

環境: macOS Catalina

結論から先に:環境変数RUBY_CONFIGURE_OPTSを足す。

rbenv installがopensslで失敗する。Homebrewで最新のopensslが入っているが、それを見に行かないもよう。

$ rbenv install 2.6.5
Downloading openssl-1.1.1d.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2
Installing openssl-1.1.1d...

BUILD FAILED (OS X 10.14.5 using ruby-build 20191205)

Inspect or clean up the working tree at /var/folders/d4/lpd3cnrd16l4z2ttkrnx168w0000gn/T/ruby-build.20191210115949.43308.JhVuyt
Results logged to /var/folders/d4/lpd3cnrd16l4z2ttkrnx168w0000gn/T/ruby-build.20191210115949.43308.log

Last 10 log lines:
      _s_server_main in s_server.o
  "_verify_stateless_cookie_callback", referenced from:
      _s_server_main in s_server.o
  "_wait_for_async", referenced from:
      _s_client_main in s_client.o
      _sv_body in s_server.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [apps/openssl] Error 1
make: *** [all] Error 2

.bash_profileを確認すると、次の環境変数があるが、それでも失敗。

export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"

export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/readline/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig"

次の環境変数を足すと成功。

export RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/opt/openssl@1.1"

参考: https://github.com/rbenv/ruby-build/issues/1353#issuecomment-537749304

Ruby 2.3 の場合

Ruby 2.3の場合、OpenSSLの1.1ではなく、1.0が必要なもよう。ただし、2.3.8、2.3.7では成功するが、2.3.6以前では失敗する。

$ brew install rbenv/tap/openssl@1.0
$ export RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/opt/openssl@1.0"
$ rbenv install 2.3.8

参考: https://github.com/rbenv/ruby-build/issues/1353#issuecomment-573414540

記録

  • 2.3.6 (2017-12-14) 失敗 OpenSSL 1.0
  • 2.3.7 (2018-03-28) 成功 OpenSSL 1.0
  • 2.3.8 (2018-10-17) 成功 OpenSSL 1.0
  • 2.4.2 (2017-09-14) 成功 OpenSSL 1.1
  • 2.4.7 (2019-08-28) 成功 OpenSSL 1.1
  • 2.4.8 (2019-10-01) 失敗 OpenSSL 1.1
  • 2.4.9 (2019-10-02) 成功 OpenSSL 1.1
  • 2.5.8 (2020-03-31) 成功 OpenSSL 1.1
  • 2.6.6 (2020-03-31) 成功 OpenSSL 1.1
54
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?