Misc #20170
closedDrop support for GCC < 11
Description
Right now, CI compiles everything from GCC 7+. However, GCC 7-10 are all end-of-life and no longer supported. We should drop support for the end-of-life compilers.
Updated by kddnewton (Kevin Newton) 10 months ago
(For added context: https://gcc.gnu.org/gcc-10/)
Updated by jeremyevans0 (Jeremy Evans) 10 months ago
OpenBSD/sparc64 (and maybe some other OpenBSD arches) build Ruby using GCC 8.4 (as Clang/LLVM sparc64 support isn't mature enough yet). So if possible, I would prefer to not drop support for GCC 8.4 yet.
Updated by mame (Yusuke Endoh) 10 months ago
In regard of compilers, we should look at not only the maintenance status of the upstream but also the one of major package distributions. I have investigated some distributions with long maintenance periods:
- RHEL8 (maintenance support until May 31, 2029) provides gcc 8.5
- Amazon Linux 2 (maintenance support until Jun 30, 2025) provides gcc 7.3
Of course we are not obliged to support them until they stop supporting them. However, it is also true that it can be troublesome for users of those distributions. I think we need a good reason to drop them.
Could you share a context in which you want to drop support? You want to use a new GCC feature, or you are facing on some actual maintenance issue?
Updated by rubyFeedback (robert heiler) 10 months ago
As jeremy pointed out, one potential drawback for dropping support for
older GCC may be that ruby could not be compiled on certain platforms
anymore. Personally I think the more platforms (and compilers) for ruby
to run on, the better, if the maintenance burden does not outweigh support
for such platforms. Even if the actual user base is rather small, I agree
with jeremy from a principle point of view. (I myself compile everything
from source on my Linux system, with the help of ruby scripts, so I am
running GCC 13.2.0 just fine, but I remember having had issues in the past
with an old CentOS system in a restricted university-campus setting, and
I also once wanted to have HaikuOS work with ruby but eventually gave up
on it. So I think I can relate to jeremy's point of view.)
Updated by shyouhei (Shyouhei Urabe) 10 months ago
- Related to Misc #19353: Drop gcc <= 6 and clang <= 9 added
Updated by kddnewton (Kevin Newton) 5 months ago
- Status changed from Open to Closed
I'm okay to wait on this. My main reason is one day I would love to use C11 features, particularly _Generic, aligned_alloc, and static_assert. I assume/hope we will get there someday.