#1097485 nwipe: ftbfs with GCC-15

Package:
src:nwipe
Source:
src:nwipe
Submitter:
Matthias Klose
Date:
2025-09-04 22:09:37 UTC
Severity:
normal
Tags:
#1097485#5
Date:
2025-02-17 17:40:32 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/nwipe_0.38-1.1_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

[...]
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for sys/file.h... yes
checking for sys/ioctl.h... yes
checking for unistd.h... (cached) yes
checking for size_t... yes
checking for struct stat.st_blksize... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for GNU libc compatible malloc... yes
checking for fdatasync... yes
checking for memset... yes
checking for regcomp... yes
checking for strdup... yes
checking for strerror... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: executing depfiles commands
make[1]: Leaving directory '/build/reproducible-path/nwipe-0.38'
   dh_auto_build
	make -j8
make[1]: Entering directory '/build/reproducible-path/nwipe-0.38'
make  all-recursive
make[2]: Entering directory '/build/reproducible-path/nwipe-0.38'
Making all in src
make[3]: Entering directory '/build/reproducible-path/nwipe-0.38/src'
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o nwipe.o nwipe.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o gui.o gui.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o pass.o pass.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o device.o device.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o logging.o logging.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o method.o method.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o options.o options.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/nwipe-0.38=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600   -c -o prng.o prng.c
prng.c: In function ‘isaac_nextval’:
prng.c:64:9: error: too many arguments to function ‘isaac’; expected 0, have 1
   64 |         isaac( ctx );
      |         ^~~~~  ~~~
In file included from prng.c:26:
isaac_rand/isaac_rand.h:37:6: note: declared here
   37 | void isaac(/*_ randctx *r _*/);
      |      ^~~~~
prng.c: In function ‘nwipe_isaac_init’:
prng.c:153:9: error: too many arguments to function ‘randinit’; expected 0, have 2
  153 |         randinit( isaac_state, 0 );
      |         ^~~~~~~~  ~~~~~~~~~~~
isaac_rand/isaac_rand.h:35:6: note: declared here
   35 | void randinit(/*_ randctx *r, word flag _*/);
      |      ^~~~~~~~
prng.c:161:9: error: too many arguments to function ‘randinit’; expected 0, have 2
  161 |         randinit( isaac_state, 1 );
      |         ^~~~~~~~  ~~~~~~~~~~~
isaac_rand/isaac_rand.h:35:6: note: declared here
   35 | void randinit(/*_ randctx *r, word flag _*/);
      |      ^~~~~~~~
make[3]: *** [Makefile:540: prng.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/nwipe-0.38/src'
make[2]: *** [Makefile:380: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/nwipe-0.38'
make[1]: *** [Makefile:321: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/nwipe-0.38'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:5: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2