Misc #19353
closedDrop gcc <= 6 and clang <= 9
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?
Updated by jeremyevans0 (Jeremy Evans) almost 2 years ago
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.
Updated by eightbitraptor (Matt V-H) almost 2 years ago
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
Updated by nobu (Nobuyoshi Nakada) almost 2 years ago
eightbitraptor (Matthew Valentine-House) wrote in #note-2:
If we're assuming that Ruby itself targets
C99
, does this mean that droppingGCC6
would allow us to relax the testing requirement forC++98
? 6.0 is the last version that defaults toC++98
according to this documentation
I think dropping gcc 6 and dropping C++98 are different things.
Updated by jeremyevans0 (Jeremy Evans) over 1 year ago
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.
Updated by shyouhei (Shyouhei Urabe) over 1 year ago
- 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]
Updated by shyouhei (Shyouhei Urabe) 10 months ago
- Related to Misc #20170: Drop support for GCC < 11 added