#1096474 crack: ftbfs with GCC-15

Package:
src:crack
Source:
src:crack
Submitter:
Matthias Klose
Date:
2025-09-04 22:07:35 UTC
Severity:
normal
Tags:
#1096474#5
Date:
2025-02-17 17:08:23 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/crack_5.0a-16_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

[...]
rm -f dawglib.o debug.o rules.o stringlib.o *~
make[3]: Leaving directory '/build/reproducible-path/crack-5.0a/src/lib'
make[3]: Entering directory '/build/reproducible-path/crack-5.0a/src/libdes'
/bin/rm -f *.o tags core rpw destest des speed libdes.a .nfs* *.old \
*.bak destest rpw des speed
make[3]: Leaving directory '/build/reproducible-path/crack-5.0a/src/libdes'
make[3]: Entering directory '/build/reproducible-path/crack-5.0a/src/util'
rm -f *.o *~
make[3]: Leaving directory '/build/reproducible-path/crack-5.0a/src/util'
make[2]: Leaving directory '/build/reproducible-path/crack-5.0a'
make[2]: Entering directory '/build/reproducible-path/crack-5.0a'
make[3]: Entering directory '/build/reproducible-path/crack-5.0a/src/lib'
( make "XDIR=../../lib/bin/debian" "XCFLAGS=-g -O2 -Wall -fstack-protector-strong -Wformat -Werror=format-security -DUSE_STRING_H -DUSE_STDLIB_H -DUSE_SIGNAL_H -DUSE_SYS_TYPES_H -DUSE_UNISTD_H -DUSE_PWD_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/crack-5.0a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" dawglib.o debug.o rules.o stringlib.o || exit 1 )
make[4]: Entering directory '/build/reproducible-path/crack-5.0a/src/lib'
x86_64-linux-gnu-gcc -g -O2 -Wall -fstack-protector-strong -Wformat -Werror=format-security -DUSE_STRING_H -DUSE_STDLIB_H -DUSE_SIGNAL_H -DUSE_SYS_TYPES_H -DUSE_UNISTD_H -DUSE_PWD_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/crack-5.0a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -O2 -Wall -fstack-protector-strong -Wformat -Werror=format-security -DUSE_STRING_H -DUSE_STDLIB_H -DUSE_SIGNAL_H -DUSE_SYS_TYPES_H -DUSE_UNISTD_H -DUSE_PWD_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/crack-5.0a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Wall -fstack-protector-strong -Wformat -Werror=format-security -DUSE_STRING_H -DUSE_STDLIB_H -DUSE_SIGNAL_H -DUSE_SYS_TYPES_H -DUSE_UNISTD_H -DUSE_PWD_H -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/crack-5.0a=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o dawglib.o dawglib.c
dawglib.c: In function ‘PutDAWG’:
dawglib.c:42:1: warning: old-style function definition [-Wold-style-definition]
   42 | PutDAWG (fp, buffer)
      | ^~~~~~~
dawglib.c:48:5: error: too many arguments to function ‘ChopNL’; expected 0, have 1
   48 |     ChopNL(buffer);
      |     ^~~~~~ ~~~~~~
In file included from dawglib.c:12:
libcrack.h:82:13: note: declared here
   82 | extern char ChopNL();
      |             ^~~~~~
dawglib.c: In function ‘GetDAWG’:
dawglib.c:65:1: warning: old-style function definition [-Wold-style-definition]
   65 | GetDAWG (fp, buffer)
      | ^~~~~~~
dawglib.c:76:9: error: too many arguments to function ‘Debug’; expected 0, have 3
   76 |         Debug (1, "GetDAWG: read weird offset: %d\n", off);
      |         ^~~~~  ~
libcrack.h:83:12: note: declared here
   83 | extern int Debug();
      |            ^~~~~
dawglib.c: In function ‘PackDAWG’:
dawglib.c:99:1: warning: old-style function definition [-Wold-style-definition]
   99 | PackDAWG (infp, outfp)
      | ^~~~~~~~
dawglib.c:102:1: error: number of arguments doesn’t match prototype
  102 | {
      | ^
libcrack.h:84:12: error: prototype declaration
   84 | extern int PackDAWG();
      |            ^~~~~~~~
dawglib.c: In function ‘UnPackDAWG’:
dawglib.c:118:1: warning: old-style function definition [-Wold-style-definition]
  118 | UnPackDAWG (infp, outfp)
      | ^~~~~~~~~~
dawglib.c:121:1: error: number of arguments doesn’t match prototype
  121 | {
      | ^
libcrack.h:86:12: error: prototype declaration
   86 | extern int UnPackDAWG();
      |            ^~~~~~~~~~
dawglib.c: In function ‘GetDAWG’:
dawglib.c:81:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   81 |     fgets (gbuffer + off, STRINGSIZE - off, fp); /* includes NL */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [<builtin>: dawglib.o] Error 1
make[4]: Leaving directory '/build/reproducible-path/crack-5.0a/src/lib'
make[3]: *** [Makefile:20: ../../lib/bin/debian/libc5.a] Error 1
make[3]: Leaving directory '/build/reproducible-path/crack-5.0a/src/lib'
make[2]: *** [Makefile:31: library] Error 1
make[2]: Leaving directory '/build/reproducible-path/crack-5.0a'
make[1]: *** [debian/rules:12: override_dh_auto_build] Error 1
make[1]: Leaving directory '/build/reproducible-path/crack-5.0a'
make: *** [debian/rules:9: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2