#1096523 dietlibc: ftbfs with GCC-15

#1096523#5
Date:
2025-02-17 17:09:55 UTC
From:
To:
[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/dietlibc_0.34~cvs20160606-18_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
: -x -R .comment -R .note bin-x86_64/rpc_commondata.o
gcc -D__dietlibc__ -I. -isystem include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dietlibc-0.34~cvs20160606=. -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -fno-pie -specs=/usr/share/dpkg/no-pie-link.specs -Wl,-z,relro -Wl,-z,now -no-pie -pipe -nostdinc -ffreestanding -D_DISTRO_EVADE_TIME_BITS -D_REENTRANT -Os -fstrict-aliasing -momit-leaf-frame-pointer -mfancy-math-387 -W -Wall -Wextra -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused -Wredundant-decls -Wshadow -fpie -fvisibility=hidden   -c librpc/svc_auth.c -o bin-x86_64/svc_auth.o -D__dietlibc__
: -x -R .comment -R .note bin-x86_64/rpc_dtablesize.o
gcc -D__dietlibc__ -I. -isystem include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dietlibc-0.34~cvs20160606=. -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -fno-pie -specs=/usr/share/dpkg/no-pie-link.specs -Wl,-z,relro -Wl,-z,now -no-pie -pipe -nostdinc -ffreestanding -D_DISTRO_EVADE_TIME_BITS -D_REENTRANT -Os -fstrict-aliasing -momit-leaf-frame-pointer -mfancy-math-387 -W -Wall -Wextra -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused -Wredundant-decls -Wshadow -fpie -fvisibility=hidden   -c librpc/svc_auth_unix.c -o bin-x86_64/svc_auth_unix.o -D__dietlibc__
librpc/rpc_prot.c: In function ‘xdr_accepted_reply’:
librpc/rpc_prot.c:83:15: warning: old-style function definition [-Wold-style-definition]
   83 | static bool_t xdr_accepted_reply(xdrs, ar)
      |               ^~~~~~~~~~~~~~~~~~
librpc/rpc_prot.c: In function ‘xdr_rejected_reply’:
librpc/rpc_prot.c:109:15: warning: old-style function definition [-Wold-style-definition]
  109 | static bool_t xdr_rejected_reply(xdrs, rr)
      |               ^~~~~~~~~~~~~~~~~~
librpc/rpc_prot.c: In function ‘accepted’:
librpc/rpc_prot.c:177:13: warning: old-style function definition [-Wold-style-definition]
  177 | static void accepted(acpt_stat, error)
      |             ^~~~~~~~
librpc/rpc_prot.c: In function ‘rejected’:
librpc/rpc_prot.c:214:13: warning: old-style function definition [-Wold-style-definition]
  214 | static void rejected(rjct_stat, error)
      |             ^~~~~~~~
librpc/svc.c: In function ‘svc_register’:
librpc/svc.c:142:8: error: argument ‘dispatch’ doesn’t match prototype
  142 | void (*dispatch) ();
      |        ^~~~~~~~
In file included from include/rpc/rpc.h:59,
                 from librpc/svc.c:49:
include/rpc/svc.h:173:15: error: prototype declaration
  173 | extern bool_t svc_register (SVCXPRT *__xprt, rpcprog_t __prog,
      |               ^~~~~~~~~~~~
librpc/svc.c: In function ‘svc_find’:
librpc/svc.c:199:28: warning: old-style function definition [-Wold-style-definition]
  199 | static struct svc_callout *svc_find(prog, vers, prev)
      |                            ^~~~~~~~
librpc/svc.c: In function ‘svc_getreqset’:
librpc/svc.c:456:66: error: too many arguments to function ‘s->sc_dispatch’; expected 0, have 2
  456 |                                                                 (*s->sc_dispatch) (&r, xprt);
      |                                                                 ~^~~~~~~~~~~~~~~~  ~~
librpc/svc.c:76:16: note: declared here
   76 |         void (*sc_dispatch) ();
      |                ^~~~~~~~~~~
make[2]: *** [Makefile:213: bin-x86_64/svc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
librpc/svc_auth.c: In function ‘_authenticate’:
librpc/svc_auth.c:103:26: error: too many arguments to function ‘svcauthsw[cred_flavor].authenticator’; expected 0, have 2
  103 |                 return ((*(svcauthsw[cred_flavor].authenticator)) (rqst, msg));
      |                         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~
librpc/svc_auth.c:64:26: note: declared here
   64 |         enum auth_stat (*authenticator) ();
      |                          ^~~~~~~~~~~~~
make[2]: *** [Makefile:213: bin-x86_64/svc_auth.o] Error 1
librpc/svc_auth_unix.c: In function ‘_svcauth_unix’:
librpc/svc_auth_unix.c:56:16: warning: old-style function definition [-Wold-style-definition]
   56 | enum auth_stat _svcauth_unix(rqst, msg)
      |                ^~~~~~~~~~~~~
librpc/svc_auth_unix.c: In function ‘_svcauth_short’:
librpc/svc_auth_unix.c:135:16: warning: old-style function definition [-Wold-style-definition]
  135 | enum auth_stat _svcauth_short(rqst, msg)
      |                ^~~~~~~~~~~~~~
: -x -R .comment -R .note bin-x86_64/clnt_tcp.o
: -x -R .comment -R .note bin-x86_64/clnt_udp.o
: -x -R .comment -R .note bin-x86_64/svc_auth_unix.o
: -x -R .comment -R .note bin-x86_64/rpc_callmsg.o
: -x -R .comment -R .note bin-x86_64/rpc_prot.o
: -x -R .comment -R .note bin-x86_64/pmap_rmt.o
make[2]: Leaving directory '/build/reproducible-path/dietlibc-0.34~cvs20160606'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" prefix=/usr/lib/x86_64-linux-gnu/diet MYARCH=x86_64 VERSION=0.34\~cvs20160606-18 DEBUG=1 "CFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dietlibc-0.34~cvs20160606=. -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -fno-pie -specs=/usr/share/dpkg/no-pie-link.specs -Wl,-z,relro -Wl,-z,now -no-pie -pipe -nostdinc -ffreestanding -D_DISTRO_EVADE_TIME_BITS -D_REENTRANT -Os -fstrict-aliasing -momit-leaf-frame-pointer -mfancy-math-387 -W -Wall -Wextra -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused -Wredundant-decls -Wshadow" returned exit code 2
make[1]: *** [debian/rules:107: override_dh_auto_build-arch] Error 25
make[1]: Leaving directory '/build/reproducible-path/dietlibc-0.34~cvs20160606'
make: *** [debian/rules:85: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2