Dne 19. 11. 20 v 18:22 Vít Ondruch napsal(a):
Dne 19. 11. 20 v 16:52 Jun Aruga napsal(a):
>> This kind of commits does not make me happy :( While the intention is
>> good, they don't take into consideration any distribution. It is
>> tailored to the old fashion way of "download tarball & configure &
make
>> & make install", everything runs on single machine :/
>>
>> Does anybody have a tip how to convince upstream, that this does not
>> scale? Does anybody want to ask upstream to revert this commit on my
>> behalf?
> The solution is like this?
>
> This commit's comment explains "AC_PROG_CXX sets $CXX to "g++"
when it
> purposefully finds that there is _no_ g++".
> But for the implementation, the condition " there is no g++" is not
> considered.
> I think reporting there is a mismatch between the explanation and
> implementation, convinces the upstream.
>
> So, we just need to add the condition "there is no g++".
> In the case of Mamoru, there is g++ possibly on the environment. So,
> he can avoid unset CXX.
>
https://github.com/ruby/ruby/commit/50b18e81295ad2d45975e4d8ea1e0c7e85140b97
>
>
> ```
> $ git diff
> diff --git a/configure.ac b/configure.ac
> index 4e4a52f066..ecc70846d8 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -190,7 +190,7 @@ AC_CHECK_TOOLS([STRIP], [gstrip strip], [:])
> AS_IF([test ! $rb_test_CFLAGS], [AS_UNSET(CFLAGS)]);
> AS_UNSET(rb_test_CFLAGS)
> AS_IF([test ! $rb_test_CXXFLAGS], [AS_UNSET(CXXFLAGS)]);
> AS_UNSET(rb_save_CXXFLAGS)
>
> -AS_IF([test "${CXX}" = "g++" -a -z "${GXX}"], [
> +AS_IF([test "${CXX}" = "g++" -a -z "${GXX}" &&
! command -v g++ >
> /dev/null], [
> # AC_PROG_CXX sets $CXX to "g++" when it purposefully finds
> that there is
> # _no_ g++. This brain-damaged design must be worked around.
> Thankfully,
> # similar thing doesn't happen for AC_PROG_CC.
> ```
>
This is not about fixing this specific case. This is more about the
Ruby upstream misconception that the system configuration is static
and it is the same when Ruby is build as when the extensions are
installed. This is generally not true. So even if g++ was available
during Ruby build, it might not be available during Eventmachine
installation or vice versa.
In this case, the system used to build Ruby is completely different
machine then the system where Eventmachine is build. The similar issue
would be when user installed the Eventmachine via `gem install`. And
it falls to the same category as [1].
Vít
[1]
https://bugzilla.redhat.com/show_bug.cgi?id=1284684
_______________________________________________
ruby-sig mailing list -- ruby-sig(a)lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-leave(a)lists.fedoraproject.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraprojec...