Alexander Gromnitsky's Blog

RVM, Fedora 38 & Ruby 2.7.8

Latest update:

You cannot compile Ruby 2.7.8 on a stock f38, as that version of Ruby requires OpenSSL 1.1.1, and it seems impossible to have multiple openssl-devel packages installed:

$ rpm -qa openssl-devel
openssl-devel-3.0.9-2.fc38.x86_64
$ sudo dnf install openssl1.1-devel
Error:
 Problem: problem with installed package openssl-devel-1:3.0.9-2.fc38.x86_64

You can try finding a precompiled Ruby & mount it with RVM, or, if you're paranoid & trust no one, then ① download Fedora's openssl1.1 RPMs:

$ dnf download openssl1.1 openssl1.1-devel --arch x86_64
...
$ mkdir -p ~/opt/lib/openssl1.1
$ cd !$
$ bsdtar xf ~/Downloads/openssl1.1-1.1.1q-4.fc38.x86_64.rpm
$ bsdtar xf ~/Downloads/openssl1.1-devel-1.1.1q-4.fc38.x86_64.rpm
$ cd usr
$ rm -rf lib
$ ln -s lib64 lib

& ② inform Ruby's configure script about the location of .h and .so files:

$ rvm install 2.7.8 --with-openssl-dir=/home/alex/opt/lib/openssl1.1/usr

To test a TLS connection, use the same script from the link above:

$ rvm use ruby-2.7.8
Using /home/alex/.rvm/gems/ruby-2.7.8
$ ruby openssl-test.rb
ruby 2.7.8p225 (2023-03-30 revision 1f4d455848) [x86_64-linux]
TLSv1.3
HTTP/1.1 200 OK
...

Tags: ойті
Authors: ag