Reputation: 581
I am trying to install the ruby 2.6.5 on mac having m1 pro chip but it's giving error of "__rvm_make -j10".
I tried to google but won't find error with "__rvm_make -j10". there is one question with the same error on stackoverflow and i tried the same method but it won't worked too.
i tried "rvm install 2.6.5 --with-out-ext=fiddle" i tried with open ssl 1.0 too, but not any one worked.
sammalik@Sams-MacBook-Pro rubyporgram % rvm install 2.6.5
ruby-2.6.5 - #removing src/ruby-2.6.5 - please wait
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/13.0/arm64/ruby-2.6.5.
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/sammalik/.rvm/rubies/ruby-2.6.5, this may take a while depending on your cpu(s)...
ruby-2.6.5 - #downloading ruby-2.6.5, this may take a while depending on your connection...
ruby-2.6.5 - #extracting ruby-2.6.5 to /Users/sammalik/.rvm/src/ruby-2.6.5 - please wait
ruby-2.6.5 - #configuring - please wait
ruby-2.6.5 - #post-configuration - please wait
ruby-2.6.5 - #compiling - please wait
Error running '__rvm_make -j10',
please read /Users/sammalik/.rvm/log/1668327329_ruby-2.6.5/make.log
There has been an error while running make. Halting the installation.
Upvotes: 5
Views: 9850
Reputation: 2009
On Mac Ventura 13.4.1
Problem seems to be that rvm is not referencing the correct openssl library. To fix we need to locate the openssl directory... if installed via homebrew it's likely here /opt/homebrew/Cellar/openssl@3
The simply rerun the the rvm install command with the override pointing to the located directory
rvm install 3.2.2 --with-openssl-dir=/opt/homebrew/Cellar/openssl@3
Install should complete easily.
Upvotes: 3
Reputation: 5112
I was having the same problem and I got the solution here
you just have to downgrade openssl by
sudo apt install libssl-dev=1.1.1l-1ubuntu1.4 openssl=1.1.1l-1ubuntu1.4
Upvotes: 0
Reputation: 8056
Ruby 2.6.x is no longer supported on any Mac that has version 14 or higher of Apple's command line tools, which would be the case on macOS Ventura (13.0). Assuming you have Homebrew installed, you can check which version you have by running brew config
, and then look towards the bottom for the lines that starts with CLT:
and Xcode:
Ruby 2.6 reached end of life in March 2022, so it should not be used in production for security reasons. A lot of people get stuck because they think they have to use the version of Ruby that's specified in the project's .ruby-version
and/or Gemfile
. Instead, it's recommended to update the project to a newer version.
In most cases, it would be as easy as following these steps:
.ruby-version
and Gemfile
, and any other file where the Ruby version is specified (except Gemfile.lock
because it should never be edited manually)bundle install
Now that you know the recommended approach, let's go over 2 solutions in case you have a special need to use Ruby 2.6 before you update to 2.7.7:
brew install [email protected]
PATH
. For example, Homebrew will say something like this:By default, binaries installed by gem will be placed into:
/opt/homebrew/lib/ruby/gems/2.6.0/bin
You may want to add this to your PATH.
If you need to have ruby first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
The reason this works is because this is a pre-built version of Ruby that was compiled with version 13.3 of the command line tools. However, note that it's not officially supported.
Note that you'll need to disable RVM or any other version manager you might have used before. And you'll only be able to use 2.6.10 with this setup. You won't be able to switch to other versions that you might have installed with RVM or another version manager.
This is meant as a temporary solution so that you can run your project with 2.6.10 and then update it to 2.7.7. Also, note that either way, you will need to update your project to at least 2.6.10. There's absolutely no reason to use 2.6.5. You should always make sure your apps are running the latest version in a series. For 2.6, it's 2.6.10, for 2.7, it's 2.7.7, then 3.0.5, and 3.1.3.
This is not possible on macOS Ventura (13.0), so don't waste your time trying. If you're on macOS Monterey, you can download version 13.4 of the command line tools from Apple's developer site, and then install them.
Upvotes: 5
Reputation: 29
I've been through a similar problem in Ubuntu 22.10. Here are some points that may help you:
Your OpenSSL may be too updated and probably has some breaking changes that don't allow some of your ruby C files to be compiled. Download a previous version at OpenSSL website, install it in a different location than your current version and use rvm install --with-openssl-dir=<old-openssl-dir> 2.6.5
as mentioned in Chris' answer.
Instead of using --with-openssl-dir
option, you could add your old OpenSSL /bin
and /include
files directly in environment variables in your rvm
command, like this: PATH=<old-openssl-bin-path>:$PATH C_INCLUDE_PATH=<old-openssl-include-path>:/usr/include rvm install 2.6.5
. This could be useful in the case that --with-openssl-dir
option isn't available for some reason. You also need to create links to the /lib
files in your old OpenSSL folder. You'll probably find paired files like libssl.so
and libssl.so.1.1
. You can just move the version-named files into /usr/lib
(or similar for macos), otherwise when you execute openssl
command from your old OpenSSL folder, it will probably raise an error saying that openssl can't find libraries. If you choose to use this method, make sure that your rvm user bin files (at ~/.rvm/usr/bin
) don't contain any files that may mess the ruby installing (like another openssl
executable). You may get rid of this folder using rvm pkg remove
.
Another possible solution is changing your gcc
version. My OS came with gcc version 12.2.0, which comes with a change in computer gotos that failed my make step. To find errors in your ruby installation, check the make.log
file specified at the rvm
command error message and look for lines like this:
Upvotes: 0
Reputation: 368
The following works fine with macOS Ventura 13.1. You have to choose an older openssl version e.g. [email protected]
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew uninstall openssl
brew install [email protected]
rvm install 3.1.3 --with-openssl-dir=/usr/local/opt/[email protected]/
Upvotes: 4