Bug 1999479

Summary: [F36FTBFS]: ruby fails to build from source in Fedora Rawhide
Product: [Fedora] Fedora Reporter: Ondrej Dubaj <odubaj>
Component: rubyAssignee: Jun Aruga <jaruga>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jaruga, joe, jprokop, mo, mtasaka, pvalena, ruby-packagers-sig, s, strzibny, vanmeeuwen+fedora, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-04 10:40:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1936597, 1992484, 1999534    

Description Ondrej Dubaj 2021-08-31 08:07:12 UTC
Your package fails to build with the newest autoconf-2.71, which was part of a recent wide Fedora change. More information about Fedora autoconf Change available here: https://fedoraproject.org/wiki/Changes/Autoconf_271#How_To_Test. The easiest way to reproduce the problem is to execute a fedora scratch-build on your package. Thank you for cooperation!

Comment 1 Vít Ondruch 2021-09-08 15:01:23 UTC
This seems to be caused by the following commit:

https://github.com/ruby/ruby/commit/c32375883a696fcf8e9e99875f1339ee5474a255

Which removes the C compiler check. I have reported this issue upstream:

https://bugs.ruby-lang.org/issues/18156

The simple workaround would be to add the `AC_PROG_CC` check back. Lets give upstream some time to come up with the right solution.

Comment 2 Ondrej Dubaj 2021-09-09 07:18:08 UTC
Can we maybe revert the changes in the given commit and test if it solves our issue ?

Comment 3 Jun Aruga 2021-09-29 13:13:06 UTC
> Can we maybe revert the changes in the given commit and test if it solves our issue ?

I am not sure if the reverting the changes works. But here is a comment mentioned on the upstream. The following patch by using the `./autogen.sh` instead of `autoconf`, and adding the `g++` compiler works to pass the `./configure` with autoconf 2.71. Now another issue is if we really require a C++ compiler to build Ruby, as Vit asked on the upstream ticket. The C++ compiler was not required previously.

https://bugs.ruby-lang.org/issues/18156#note-4

```
diff --git a/ruby.spec b/ruby.spec
index 414eb19..c5c6edc 100644
--- a/ruby.spec
+++ b/ruby.spec
@@ -188,6 +188,7 @@ BuildRequires: procps
 %{?with_hostname:BuildRequires: %{_bindir}/hostname}
 BuildRequires: multilib-rpm-config
 BuildRequires: gcc
+BuildRequires: gcc-c++
 BuildRequires: make
 BuildRequires: zlib-devel
 
@@ -619,7 +620,7 @@ rm -rf ext/fiddle/libffi*
 cp -a %{SOURCE3} .
 
 %build
-autoconf
+./autogen.sh
 
 %configure \
         --with-rubylibprefix='%{ruby_libdir}' \
```

Comment 4 Jun Aruga 2021-09-30 14:53:43 UTC
The upstream patch is here now. Vit, could you apply it? Thanks.
https://bugs.ruby-lang.org/issues/18156#note-9

Comment 5 Jun Aruga 2021-10-01 12:37:18 UTC
I sent the PR to fix the FTBFS.
https://src.fedoraproject.org/rpms/ruby/pull-request/100

Comment 6 Jun Aruga 2021-10-04 10:40:04 UTC
FTBFS by autoconf was fixed by https://src.fedoraproject.org/rpms/ruby/c/78a9fbc351cf0e12b653a69438a9e6b9d1292246?branch=rawhide .

Note that FTBFS still happens on rawhide (f36) due to OpenSSL 3.0 dependency. But this can be another topic. So, I would close this ticket.