#1098133 xdu: ftbfs with GCC-15

Package:
src:xdu
Source:
src:xdu
Submitter:
Matthias Klose
Date:
2025-09-04 22:11:37 UTC
Severity:
normal
Tags:
#1098133#5
Date:
2025-02-17 18:01:31 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/xdu_3.0-20_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

[...]
      |      ^~~~~~~~~~
xdu.c:616:17: error: too many arguments to function ‘clearrects’; expected 0, have 1
  616 |                 clearrects(np);
      |                 ^~~~~~~~~~ ~~
xdu.c:601:1: note: declared here
  601 | clearrects(nodep)
      | ^~~~~~~~~~
xdu.c: In function ‘press’:
xdu.c:670:1: warning: old-style function definition [-Wold-style-definition]
  670 | press(x,y)
      | ^~~~~
xdu.c:672:1: error: number of arguments doesn’t match prototype
  672 | {
      | ^
xdu.c:40:12: error: prototype declaration
   40 | extern int press(), reset(), repaint(), setorder(), reorder();
      |            ^~~~~
xdu.c: In function ‘repaint’:
xdu.c:700:1: warning: old-style function definition [-Wold-style-definition]
  700 | repaint(width,height)
      | ^~~~~~~
xdu.c:702:1: error: number of arguments doesn’t match prototype
  702 | {
      | ^
xdu.c:40:30: error: prototype declaration
   40 | extern int press(), reset(), repaint(), setorder(), reorder();
      |                              ^~~~~~~
xdu.c:711:9: error: too many arguments to function ‘clearrects’; expected 0, have 1
  711 |         clearrects(&top);       /* clear current rectangle info */
      |         ^~~~~~~~~~ ~~~~
xdu.c:601:1: note: declared here
  601 | clearrects(nodep)
      | ^~~~~~~~~~
xdu.c: In function ‘setorder’:
xdu.c:719:1: warning: old-style function definition [-Wold-style-definition]
  719 | setorder(op)
      | ^~~~~~~~
xdu.c:721:1: error: number of arguments doesn’t match prototype
  721 | {
      | ^
xdu.c:40:41: error: prototype declaration
   40 | extern int press(), reset(), repaint(), setorder(), reorder();
      |                                         ^~~~~~~~
xdu.c: In function ‘reorder’:
xdu.c:761:1: warning: old-style function definition [-Wold-style-definition]
  761 | reorder(op)
      | ^~~~~~~
xdu.c:763:1: error: number of arguments doesn’t match prototype
  763 | {
      | ^
xdu.c:40:53: error: prototype declaration
   40 | extern int press(), reset(), repaint(), setorder(), reorder();
      |                                                     ^~~~~~~
xdu.c:764:9: error: too many arguments to function ‘setorder’; expected 0, have 1
  764 |         setorder(op);
      |         ^~~~~~~~ ~~
xdu.c:719:1: note: declared here
  719 | setorder(op)
      | ^~~~~~~~
xdu.c:765:9: error: too many arguments to function ‘sorttree’; expected 0, have 2
  765 |         sorttree(topp, order);
      |         ^~~~~~~~ ~~~~
xdu.c:469:1: note: declared here
  469 | sorttree(np, order)
      | ^~~~~~~~
make[1]: *** [<builtin>: xdu.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/xdu-3.0'
dh_auto_build: error: make -j1 returned exit code 2
make: *** [debian/rules:10: binary] Error 255
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2