On: August 05, 2022 
            
         
                
                
         
      Make sure that `gem install puma -v '2.10.2' --source 'https://rubygems.org/'` succeeds before bundling
Problem:
I have old version puma with ruby 2.2.2. It throws this error when bundling.
An error occurred while installing puma (2.10.2), and Bundler cannot continue.
Make sure that `gem install puma -v '2.10.2' --source 'https://rubygems.org/'` succeeds before            
bundling. 
I know that my current openssl version on my Ubuntu 20.4 is 1.1.0. And puma are requiring openssl 1.0. I also tried to install both versions of openssl. But it made mess of package. You can check here for ref installing custom version . Install openssl 1.0
After installing ruby 2.2.2. I see there is one openssl@1.0.2 in ~/.rbenv/versions/2.2.2/openssl/. But system ignoring this version when bundling with error:
In file included from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/bio.h:13,
                 from mini_ssl.c:4:
/usr/include/openssl/ssl.h:1895:1: note: declared here
 1895 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */
      | ^~~~~~~~~~~~~~~~~~
mini_ssl.c: In function ‘engine_read’:
mini_ssl.c:164:14: warning: unused variable ‘n’ [-Wunused-variable]
  164 |   int bytes, n;
      |              ^
mini_ssl.c: In function ‘engine_write’:
mini_ssl.c:187:8: warning: unused variable ‘buf’ [-Wunused-variable]
  187 |   char buf[512];
      |        ^~~
make: *** [Makefile:238: mini_ssl.o] Error 1
make failed, exit code 2
Solution
First, I tried with this command. System still ignore openssl folder
gem install puma -v '2.10.2' --source 'https://rubygems.org/' -- --with-openssl-dir=~/.rbenv/versions/2.2.2/openssl
Second, I tried with this
gem install puma -v '2.10.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/home/kupro20/.rbenv/versions/2.2.2/openssl/include
And OMG, it is working. I can install gem and bundle successfully.
Reference: Error install gem with openssl verison
Tagged with rails