Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenSSL version conflict during "rvm install 2.7.1" on Ubuntu 22.04 #127

Open
qbonenfant opened this issue May 16, 2023 · 3 comments
Open

Comments

@qbonenfant
Copy link

Trying to build on an Ubuntu 22.04 (using microsoft WSL2), i got an issue while trying to compile ruby2.7.1 using rvm.

rvm install 2.7.1

ruby-2.7.1 - #removing src/ruby-2.7.1..
Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/22.04/x86_64/ruby-2.7.1.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.  
Checking requirements for ubuntu.
Requirements installation successful.
Installing Ruby from source to: /home/XXXX/.rvm/rubies/ruby-2.7.1, this may take a while depending on your cpu(s)...
ruby-2.7.1 - #downloading ruby-2.7.1, this may take a while depending on your connection...
ruby-2.7.1 - #extracting ruby-2.7.1 to /home/XXXX/.rvm/src/ruby-2.7.1.....
ruby-2.7.1 - #configuring.......................................................................
ruby-2.7.1 - #post-configuration..
ruby-2.7.1 - #compiling................................................................................................|
Error running '__rvm_make -j6', please read /home/XXXX/.rvm/log/1684238918_ruby-2.7.1/make.log.
There has been an error while running make. Halting the installation.

The error found in the log file is the following:
error: ‘RSA_SSLV23_PADDING’ undeclared (first use in this function)

It seems it boils down to a security fix in "recent" openssl making RSA_SSLV23_PADDING deprecated: #openssl/openssl#14216

After reading this:
https://stackoverflow.com/questions/72250611/rsa-sslv23-padding-undeclared-first-use-in-this-function-did-you-mean-rsa,
I managed to "fix" this by manually compiling openssl1.1.1 as described in previous link:

wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz

tar xvzf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
mkdir -p $HOME/lib/openssl
./config --prefix=$HOME/lib/openssl
make
make install

cp /etc/ssl/certs/* $HOME/lib/openssl/ssl/certs

I then ran rvm install with a custom openssl dir
rvm instal 2.7.1 --with-openssl-dir=$HOME/lib/openssl

This is not the first issue I encountered with depencies / version mismatch during the installation procedure, it would be nice to fix this.

@qbonenfant
Copy link
Author

Small addendum to previous statement about depencies issues, and why i am not going to use OSB:

I simply was not able to complete the installation.
I know multi-platform installer are hard, dependencies are frustrating, version management can be a nightmare.
But I should not need a Master or Phd level in computer science to install open source software.

The software stack is screaming about deprecated functions, dependencies and versions mismatch at each step.
After 6 hours of failing, after making compromise about security I should not have to, I finally got the backend to cooperate.
And then, I completely lost interest when front end component started to fail loading, once again due to outdated stuff.

I appreciate the efforts, and the simple fact this is open source... b u t
This application is not safe to run, it is not easy to install even on a fresh VM, and it simply does not work properly without some ugly hacks.

@sapioXmachina
Copy link

sapioXmachina commented Jul 19, 2023

i've had similar/same issues @qbonenfant trying to install OSB. tried on macos via homebrew and on my aws account (ubuntu)

mainly ran into problems running bundle install: libv8, openssl, therubyracer

once i was able to fix all that and a few other snags, running 'rails server' tried the following error (see attached screenshot):

Bundle updated!
~/open-source-billing $ rails s
Attention: used pure ruby version of MurmurHash3
DEPRECATION WARNING: Single arity template handlers are deprecated. Template handlers must now accept two parameters, the view object and the source for the view object.
Change:
>> #<#<Class:0x00007f986cc1128>:0x00007f986cbf1420>.call(template)
TO:
>> #<#<Class:0x00007f986cc1128>:0x00007f986cf1420>.call(template, source) (called from <top (required)> at ~/open-source-billing/config/
application.rb:8)
dyld [71349]: missing symbol called
zsh: abort rails

happy to reproduce & document every step from start to errors if needed -- would be great if this worked cause the demo looks dope, ty!!

@qbonenfant any luck finding another similar open-source billing/invoicing?

@sapioXmachina sapioXmachina mentioned this issue Jul 19, 2023
@heliocola
Copy link

@sapioXmachina , @qbonenfant : I got it working on my Mac M2 but not fully tested yet.
This app has lots of gems in old state, so upgrading it will be long battle, but perhaps one worth fighing it? 🤔
On my M2 I am running it with ruby 3.1.4, rails 6.0.6.1.

Let me know if you are still interested, I can try forking and pushing my changes to it.
I also emails some folks in vteams to see what is the plan for this app!

It would be awesome to bring this one back to life!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants