Ruby-build: Unable to install Ruby 2.5.8 on MacOS Catalina 10.15.3 & 10.15.4

Created on 1 Apr 2020  ·  3Comments  ·  Source: rbenv/ruby-build

After updating to latest ruby-build I tried to install Ruby 2.5.8 and saw:

› brew update && brew upgrade ruby-build
Updated 1 tap (homebrew/core).
==> Updated Formulae
ruby-build ✔
==> Upgrading 1 outdated package:
ruby-build 20200224 -> 20200401
==> Upgrading ruby-build 20200224 -> 20200401
==> Downloading https://github.com/rbenv/ruby-build/archive/v20200401.tar.gz
==> Downloading from https://codeload.github.com/rbenv/ruby-build/tar.gz/v20200401
######################################################################## 100.0%
==> ./install.sh
==> Caveats
ruby-build installs a non-Homebrew OpenSSL for each Ruby version installed and these are never upgraded.

To link Rubies to Homebrew's OpenSSL 1.1 (which is upgraded) add the following
to your ~/.zshrc:
  export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])"

Note: this may interfere with building old versions of Ruby (e.g <2.4) that use
OpenSSL <1.1.
==> Summary
🍺  /usr/local/Cellar/ruby-build/20200401: 495 files, 245.2KB, built in 8 seconds
Removing: /usr/local/Cellar/ruby-build/20200224... (473 files, 236.6KB)
Removing: /Users/jeff.dutil/Library/Caches/Homebrew/ruby-build--20200224.tar.gz... (63.6KB)
==> Checking for dependents of upgraded formulae...
==> No dependents found!

🔌  ⚡️  in juulio/ on jdutil/ruby-2-5-8
› rbenv install 2.5.8
Downloading openssl-1.1.1d.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2
Installing openssl-1.1.1d...

BUILD FAILED (OS X 10.15.3 using ruby-build 20200401)

Inspect or clean up the working tree at /var/folders/b8/3x4w9ys53_b6b2hmbbp71vvw0000gr/T/ruby-build.20200401091332.23969.juoPfs
Results logged to /var/folders/b8/3x4w9ys53_b6b2hmbbp71vvw0000gr/T/ruby-build.20200401091332.23969.log

Last 10 log lines:
clang  -I. -Icrypto/include -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/ssl\"" -DENGINESDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/jeff.dutil/.rbenv/versions/2.5.8/include -MMD -MF crypto/evp/e_cast.d.tmp -MT crypto/evp/e_cast.o -c -o crypto/evp/e_cast.o crypto/evp/e_cast.c
clang  -I. -Icrypto/include -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/ssl\"" -DENGINESDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/jeff.dutil/.rbenv/versions/2.5.8/include -MMD -MF crypto/evp/e_chacha20_poly1305.d.tmp -MT crypto/evp/e_chacha20_poly1305.o -c -o crypto/evp/e_chacha20_poly1305.o crypto/evp/e_chacha20_poly1305.c
clang  -I. -Icrypto/include -Iinclude -Icrypto -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/ssl\"" -DENGINESDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/jeff.dutil/.rbenv/versions/2.5.8/include -MMD -MF crypto/evp/e_des.d.tmp -MT crypto/evp/e_des.o -c -o crypto/evp/e_des.o crypto/evp/e_des.c
clang  -I. -Icrypto/include -Iinclude -Icrypto -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/ssl\"" -DENGINESDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/jeff.dutil/.rbenv/versions/2.5.8/include -MMD -MF crypto/evp/e_des3.d.tmp -MT crypto/evp/e_des3.o -c -o crypto/evp/e_des3.o crypto/evp/e_des3.c
clang  -I. -Icrypto/include -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/ssl\"" -DENGINESDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/jeff.dutil/.rbenv/versions/2.5.8/include -MMD -MF crypto/evp/e_idea.d.tmp -MT crypto/evp/e_idea.o -c -o crypto/evp/e_idea.o crypto/evp/e_idea.c
clang  -I. -Icrypto/include -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/ssl\"" -DENGINESDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/jeff.dutil/.rbenv/versions/2.5.8/include -MMD -MF crypto/evp/e_null.d.tmp -MT crypto/evp/e_null.o -c -o crypto/evp/e_null.o crypto/evp/e_null.c
clang  -I. -Icrypto/include -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/ssl\"" -DENGINESDIR="\"/Users/jeff.dutil/.rbenv/versions/2.5.8/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/jeff.dutil/.rbenv/versions/2.5.8/include -MMD -MF crypto/evp/e_old.d.tmp -MT crypto/evp/e_old.o -c -o crypto/evp/e_old.o crypto/evp/e_old.c
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
make[1]: *** [crypto/evp/e_old.o] Error 1
make: *** [all] Error 2

Then I tried adding export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])" to my .zshrc and then received:

› rbenv install 2.5.8
Downloading ruby-2.5.8.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.8.tar.bz2
Installing ruby-2.5.8...
ruby-build: using readline from homebrew

BUILD FAILED (OS X 10.15.3 using ruby-build 20200401)

Inspect or clean up the working tree at /var/folders/b8/3x4w9ys53_b6b2hmbbp71vvw0000gr/T/ruby-build.20200401091720.31485.hZxRst
Results logged to /var/folders/b8/3x4w9ys53_b6b2hmbbp71vvw0000gr/T/ruby-build.20200401091720.31485.log

Last 10 log lines:
The Ruby openssl extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Configure options used:
  --prefix=/Users/jeff.dutil/.rbenv/versions/2.5.8
  --with-openssl-dir=/usr/local/Cellar/[email protected]/1.1.1f
  --enable-shared
  --with-readline-dir=/usr/local/opt/readline
  CC=clang
  LDFLAGS=-L/Users/jeff.dutil/.rbenv/versions/2.5.8/lib
  CPPFLAGS=-I/Users/jeff.dutil/.rbenv/versions/2.5.8/include

After upgrading to OSX 10.15.4 I still receive the same error.

Most helpful comment

So I was actually able to resolve this by upgrading to 10.15.4 and then removing export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])" from my .zshrc.

All 3 comments

So I was actually able to resolve this by upgrading to 10.15.4 and then removing export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])" from my .zshrc.

I know this issue is closed but the solution for ruby 2.5.8 is a combination of https://github.com/rbenv/ruby-build/issues/1353#issuecomment-589715940 and https://github.com/rbenv/ruby-build/issues/1138#issue-265018670

brew install openssl
brew install readline
RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])  --with-readline-dir=$(brew --prefix readline)" rbenv install 2.5.8

That command just told me to run rbenv install rbx-2.5.8, so I did that

Was this page helpful?
0 / 5 - 0 ratings