1408 | fptr->mode |= mode; | ^~~~ ../../.././include/ruby/io.h:158:9: note: declared here 158 | int mode; | ^~~~ console.c: At top level: console.c:1417:1: error: static declaration of rb_io_closed_p follows non-static declaration 1417 | rb_io_closed_p(VALUE io) | ^~~~~~~~~~~~~~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 23.0_abi32+64-20241201-114734 UNMASKED: <sys-devel/gcc-15.0.9999:15 The attached etc.portage.tar.xz has all details. ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-15 * llvm-config: Python 3.12.7 Available Ruby profiles: [1] ruby32 * Available Rust versions: [1] rust-bin-1.83.0 * HEAD of ::gentoo commit 6113d4e0b1658b78177b813ccad78aac266f506c Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sun Dec 1 14:48:32 2024 +0000 2024-12-01 14:48:31 UTC emerge -qpvO =dev-lang/ruby-3.3.6-r1 [ebuild NS ] dev-lang/ruby-3.3.6-r1 [3.2.6-r2] USE="gdbm jit ssl -berkdb -debug -doc -examples (-jemalloc) -socks5 (-static-libs) -systemtap -tk -valgrind -xemacs"
Created attachment 912981 [details] emerge-info.txt
Created attachment 912982 [details] dev-lang:ruby-3.3.6-r1:20241201-171634.log.xz
Created attachment 912983 [details] emerge-history.txt
Created attachment 912984 [details] environment
Created attachment 912985 [details] etc.portage.tar.xz
Created attachment 912986 [details] logs.tar.xz
Created attachment 912987 [details] qlist-info.txt
Created attachment 912988 [details] temp.tar.xz
Created attachment 923644 [details, diff] lazy fix Lazy way of fixing it by making everything static. Works for me for 3.3.7-r1
The provided patch work for both 3.3 and 3.4 slots (fails applying to earlier slots)
There was https://github.com/ruby/ruby/commit/e9ba334fd1655c09ad30030773f43e3b710a4a91 but that's not it.
https://github.com/ruby/io-console/commit/4b839a504f8dfab7d00940ceb1fc7df659f7a3db
I don't really get how I didn't hit this (or why it hasn't shown up upstream).
It can be reproduced with the CFLAGS thoralf used: "-Werror=lto-type-mismatch -Werror=strict-aliasing -Werror=odr -flto".
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a489c482123d205d65a1c604bcaeb1eb49aee8f7 commit a489c482123d205d65a1c604bcaeb1eb49aee8f7 Author: Hans de Graaff <graaff@gentoo.org> AuthorDate: 2025-04-25 17:35:02 +0000 Commit: Hans de Graaff <graaff@gentoo.org> CommitDate: 2025-04-25 17:36:32 +0000 dev-lang/ruby: use -std=gnu17 This avoids a compilation issue in ext/io/console.c when using certain CFLAGS. Bug: https://bugs.gentoo.org/945643 Signed-off-by: Hans de Graaff <graaff@gentoo.org> dev-lang/ruby/ruby-3.3.8.ebuild | 4 ++++ dev-lang/ruby/ruby-3.4.3.ebuild | 4 ++++ 2 files changed, 8 insertions(+)