Control: tag -1 patch
On Wed, Jul 03, 2024 at 12:41:30PM +0000, Matthias Klose wrote:
Package: src:qdbm
Version: 1.8.78-12.1
Severity: important
Tags: sid trixie
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-14
The actual error here is
make[1]: Entering directory '/<<PKGBUILDDIR>>/ruby/curia'
gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>/ruby=. -I. -I/usr/include/x86_64-linux-gnu/ruby-3.1.0 -I/usr/include/ruby-3.1.0/ruby/backward -I/usr/include/ruby-3.1.0 -I. -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I. -I../.. -I/nonexistent/include -I/usr/
local/include -o mod_curia.o -c mod_curia.c
mod_curia.c:92:1: error: return type defaults to ‘int’ [-Wimplicit-int]
92 | Init_mod_curia(){
| ^~~~~~~~~~~~~~
make[1]: *** [Makefile:253: mod_curia.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>/ruby/curia'
and it is fixed by declaring the Ruby extension Init_* functions as void.
Patch attached. The build succeeds for me with this on current sid.
I have not tested the resulting binaries in any way (but it looked
like the build includes a test suite of some kind.)
Hope this helps,
--
Niko Tyni
ntyni@debian.org
From: Niko Tyni <
ntyni@debian.org>
Date: Fri, 2 Aug 2024 18:58:34 +0100
X-Dgit-Generated: 1.8.78-12.1 107c05d8cdc8a28b0d0abd837c0abe4bef8c9f48
Subject: Mark Ruby init functions as void
This fixes building with GCC 14.
mod_curia.c:92:1: error: return type defaults to ‘int’ [-Wimplicit-int]
92 | Init_mod_curia(){
| ^~~~~~~~~~~~~~
make[1]: *** [Makefile:253: mod_curia.o] Error 1
Bug-Debian:
https://bugs.debian.org/1075427
---
diff --git a/ruby/curia/mod_curia.c b/ruby/curia/mod_curia.c
index 5774ef5..de681eb 100644
--- a/ruby/curia/mod_curia.c
+++ b/ruby/curia/mod_curia.c
@@ -89,7 +89,7 @@ static VALUE rbcrfatalerror(VALUE vself, VALUE vindex);
*************************************************************************************************/
-Init_mod_curia(){
+void Init_mod_curia(){
crinit();
ccuriaerror = rb_define_class("CuriaError", rb_eStandardError);
ccuriaerror_ENOERR = rb_define_class("CuriaError_ENOERR", ccuriaerror);
diff --git a/ruby/depot/mod_depot.c b/ruby/depot/mod_depot.c
index b9f46d6..7438e62 100644
--- a/ruby/depot/mod_depot.c
+++ b/ruby/depot/mod_depot.c
@@ -88,7 +88,7 @@ static VALUE rbdpfatalerror(VALUE vself, VALUE vindex);
*************************************************************************************************/
-Init_mod_depot(){
+void Init_mod_depot(){
dpinit();
cdepoterror = rb_define_class("DepotError", rb_eStandardError);
cdepoterror_ENOE