Misc #19353
closed
Drop gcc <= 6 and clang <= 9
Added by shyouhei (Shyouhei Urabe) almost 2 years ago.
Updated over 1 year ago.
Description
We test those old compilers using Ubuntu bionic. This OS is reaching its EOL.
Making them available would become harder.
I would like to drop supporting them. Any opinions?
OpenBSD/sparc64 uses gcc 4.2.1 (last GPLv2 version) as the system compiler. The sparc64 backend for clang is not yet mature (last I checked), so this would make it so Ruby 3.3+ would be unlikely to be supported on OpenBSD/sparc64 (at least, until the clang sparc64 backend matures). I would like to keep support for gcc 4.2.1 if possible, but I certainly understand if support has to be dropped.
I recently encountered a CI failure when testing against C++98
due to the lack of variadic macros. internal/gc.h
states that
* @note To ruby-core: remember that this header can be possibly
* recursively included from extension libraries written in C++.
* Do not expect for instance `__VA_ARGS__` is always available.
* We assume C99 for ruby itself but we don't assume languages of
* extension libraries. They could be written in C++98.
If we're assuming that Ruby itself targets C99
, does this mean that dropping GCC6
would allow us to relax the testing requirement for C++98
? 6.0 is the last version that defaults to C++98
according to this documentation
eightbitraptor (Matthew Valentine-House) wrote in #note-2:
If we're assuming that Ruby itself targets C99
, does this mean that dropping GCC6
would allow us to relax the testing requirement for C++98
? 6.0 is the last version that defaults to C++98
according to this documentation
I think dropping gcc 6 and dropping C++98 are different things.
jeremyevans0 (Jeremy Evans) wrote in #note-1:
OpenBSD/sparc64 uses gcc 4.2.1 (last GPLv2 version) as the system compiler. The sparc64 backend for clang is not yet mature (last I checked), so this would make it so Ruby 3.3+ would be unlikely to be supported on OpenBSD/sparc64 (at least, until the clang sparc64 backend matures). I would like to keep support for gcc 4.2.1 if possible, but I certainly understand if support has to be dropped.
Since writing this, we've found out that we can compile Ruby 3.2 on OpenBSD/sparc64 using the system compiler (gcc 4.2.1), but compiling gems with C extensions fails with the system compiler and we have to use an ports compiler (gcc 8.x I think). This wasn't the case for Ruby 3.1. Considering this, I withdraw my objection to dropping gcc < 6 support, since we can switch to compiling Ruby itself with the ports compiler on OpenBSD/sparc64.
- Status changed from Open to Closed
Applied in changeset git|27a21ad201b04f9af6c206836b4c7543fb69a1e7.
give up checking old compilers
These old compilers needed old OSes, which are getting EODed. We
cannot maintain healthy binary of them (building compilers on our
own is quite haed). Let us just retire them. Fixes [Bug #19353]
- Related to Misc #20170: Drop support for GCC < 11 added
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0