I was trying to install latest stable Ruby versions (3.1.x
, 3.2.x
) using rvm
. However, the rvm install
command of any of those versions fails when compiling Ruby. For instance, when trying to run
rvm install 3.1.4
I get the following output:
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/13.5/arm64/ruby-3.1.4.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Updating certificates bundle '/opt/homebrew/etc/[email protected]/cert.pem'
Requirements installation successful.
Installing Ruby from source to: /Users/davidlj95/.rvm/rubies/ruby-3.1.4, this may take a while depending on your cpu(s)...
ruby-3.1.4 - #downloading ruby-3.1.4, this may take a while depending on your connection...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 19.9M 100 19.9M 0 0 12.8M 0 0:00:01 0:00:01 --:--:-- 12.8M
No checksum for downloaded archive, recording checksum in user configuration.
/Users/davidlj95/.rvm/tmp/rvm_src_74481
ruby-3.1.4 - #extracting ruby-3.1.4 to /Users/davidlj95/.rvm/src/ruby-3.1.4 - please wait
ruby-3.1.4 - #configuring - please wait
ruby-3.1.4 - #post-configuration - please wait
ruby-3.1.4 - #compiling - please wait
Error running '__rvm_make -j8',
please read /Users/davidlj95/.rvm/log/1692282742_ruby-3.1.4/make.log
There has been an error while running make. Halting the installation.
Looked for errors in the file with less -p error /Users/davidlj95/.rvm/log/1692282742_ruby-3.1.4/make.log
.
Seems the last error appearing before failing is related to OpenSSL:
ossl_ts.c:829:5: error: incomplete definition of type 'struct TS_verify_ctx'
TS_VERIFY_CTX_set_certs(ctx, x509inter);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ...
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2
+__rvm_make:0> return 2
1 warning and 1 error generated.
I am using an M1 / ARM chipset MacBook Pro. With macOS Ventura 13.5.
I've tried:
- Installing latest version appearing in
rvm list known
:3.0.0
. It fails too. - Going to the path where Ruby source code has been extracted and run
make -j8
. Fails because of same reason. brew install [email protected]
after seeing you may need an older version of OpenSSL to build Ruby. It was already installed. No luck either.- Ensuring the location of OpenSSL appearing in
Makefile
exists - Install latest version of OpenSSL:
brew install openssl@3
. No luck either.
brew
if possible. I've seen other posts wherelibyaml
fails. So looks like configuring everything to come from brew could give better results in the general case – Marabelle