On Wed, Sep 29, 2021 at 5:50 PM Vít Ondruch <vondruch(a)redhat.com> wrote:
Dne 29. 09. 21 v 14:26 Jun Aruga napsal(a):
> On Wed, Sep 29, 2021 at 12:42 PM Vít Ondruch <vondruch(a)redhat.com> wrote:
>>
>> Dne 28. 09. 21 v 1:51 Mamoru TASAKA napsal(a):
>>> Jun Aruga wrote on 2021/09/28 1:54:
>>>> Just FYI
>>>> It seems the rpms/ruby rawhide started to fail to build from the
>>>> following build.
>>>>
>>>>
https://koschei.fedoraproject.org/build/11069282
>>>> autoconf: 2.69-37.fc35 => 2.71-1.fc36
>>>>
>>>> I noticed this when I also saw the build started to fail on the
>>>> stream-ruby-2.6 branch too.
>>>>
>>> I think Vít has already noticed this and contacted the upstream:
>>>
https://bugzilla.redhat.com/show_bug.cgi?id=1999479
>>>
https://bugs.ruby-lang.org/issues/18156
>>
>> Right, I hoped for some upstream response, but my plan is to reintroduce
>> the `AC_PROG_CC` if there is no response. Hopefully I get back to this
>> soon, because we should look into the OpenSSL 3.x compatibility.
> It seems the following patch for the ruby.spec works to build
> rpms/ruby on rawhide. Now building is in progress in my environment.
> But maybe we don't want to add the gcc-c++ dependency?
>
> ```
> $ git diff
> 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++
I already had discussion on this topic previously:
https://bugs.ruby-lang.org/issues/17337
IOW there were attempts to enforce availability of C++ but the patches
were reverted. And I think there was more, but I can't find the references.
OK. Thanks for pointing out the ticket. I did read it now.
I admit the `+BuildRequires: gcc-c++` is a wrong way to fix. In this
case, requiring C++ compiler happens with autoconf 2.71, but doesn't
happen with the 2.69. So, it is kind of a bug.
Fortunately the Ruby developer syouhei agreed on your way to fix this
issue adding `AC_PROG_CC`. Also talking with nobu today, he told me
that he didn't want to add the C++ compiler requirement.
So, we can expect the upstream is going to fix it.
https://bugs.ruby-lang.org/issues/18156#note-8
> 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}' \
> ```
>
I am not autotols expert, but `autogen.sh` does not do more then
`autoreconf` and as far as I remember, I have tried autoreconf but I
have opted to not use it for some (forgotten) reason. Moreover:
1) The upstream tarball contains the config.{guess,sub} files
I see I missed this point. We don't need to run the `./autogen.sh` or
`autoreconf`.
I think using `autogen.sh` makes the ruby.spec unnecessarily complicated.
In older Rubies, there is no `autogen.sh` in the tarball. Using the
`autogen.sh` also makes it harder to check the difference from older
Ruby's ruby.spec.
2) The `%{configure}` macro replaces the config.{guess,sub} files
during
build
OK. I didn't know that.
Therefore you would need some convincing arguments.
OK.
--
Jun | He - Him