Bug 1397809

Summary: rubygem-puma: FTBFS for openssl-devel 1.1
Product: [Fedora] Fedora Reporter: Jun Aruga <jaruga>
Component: rubygem-pumaAssignee: Jun Aruga <jaruga>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jaruga, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rubygem-puma-3.6.0-4.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-23 14:08:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jun Aruga 2016-11-23 11:55:17 UTC
Description of problem:

Build failure with openssl-1.1.x.

Version-Release number of selected component (if applicable):
rubygem-puma-3.6.0-3.fc26

How reproducible:


Steps to Reproduce:
1. mock -r fedora-rawhide-x86_64 rubygem-puma-3.6.0-3.fc26.src.rpm

Actual results:

build.log

```
mini_ssl.c: In function 'get_dh1024':
mini_ssl.c:90:5: error: dereferencing pointer to incomplete type 'DH {aka struct dh_st}'
   dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
     ^~  
mini_ssl.c: In function 'engine_init_client':
mini_ssl.c:197:3: warning: 'DTLSv1_method' is deprecated [-Wdeprecated-declarations]
   conn->ctx = SSL_CTX_new(DTLSv1_method());
   ^~~~
In file included from /usr/include/openssl/opensslconf.h:42:0,
                 from /usr/include/openssl/ct.h:13,
                 from /usr/include/openssl/ssl.h:61,
                 from mini_ssl.c:15:
/usr/include/openssl/ssl.h:1619:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */
 ^
make: *** [Makefile:240: mini_ssl.o] Error 1
ERROR:  Error installing puma-3.6.0.gem:
```

Expected results:

Build success

Additional info:

- That happened when openssl-devel changed from 1.0.2j to 1.1.0b.

```
openssl-devel   1:1.0.2j-1.fc26   >   1:1.1.0b-1.fc26
``

- It is reported on upstream.
  https://github.com/puma/puma/issues/1136

Comment 1 Jun Aruga 2016-11-23 11:55:57 UTC
Koschei: https://apps.fedoraproject.org/koschei/build/2264756

Comment 2 Vít Ondruch 2016-11-23 13:13:24 UTC
This is definitely good to solve from the long time perspective, but should this be problem right at this moment, you can use "BuildRequires: compat-openssl10-devel" instead "BuildRequires: openssl-devel", which BTW is good idea as long as Ruby itself is built against OpenSSL 1.0, i.e. as long as we stick with Ruby 2.3.

Comment 3 Jun Aruga 2016-11-23 13:18:12 UTC
(In reply to Vít Ondruch from comment #2)
> This is definitely good to solve from the long time perspective, but should
> this be problem right at this moment, you can use "BuildRequires:
> compat-openssl10-devel" instead "BuildRequires: openssl-devel", which BTW is
> good idea as long as Ruby itself is built against OpenSSL 1.0, i.e. as long
> as we stick with Ruby 2.3.

Thanks for the good information.
Okay I will use it at the moment.