Subject: xloadimage: ftbfs with GCC-15

From: Matthias Klose <[email-masked]>
Date: Mon, 17 Feb 2025 18:02:04 +0000

Package: src:xloadimage
Version: 4.1-26
Severity: important
Tags: sid forky
User: [email-masked]
Usertags: ftbfs-gcc-15

[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/xloadimage_4.1-26_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

[...]
cmuwmraster.c:30:5: warning: old-style function definition [-Wold-style-definition]
   30 | int cmuwmIdent(fullname, name)
      |     ^~~~~~~~~~
cmuwmraster.c: In function ‘cmuwmLoad’:
cmuwmraster.c:70:8: warning: old-style function definition [-Wold-style-definition]
   70 | Image* cmuwmLoad(fullname, name, verbose)
      |        ^~~~~~~~~
config.c: In function ‘addFilter’:
config.c:39:13: warning: old-style function definition [-Wold-style-definition]
   39 | static void addFilter(extension, filter)
      |             ^~~~~~~~~
config.c: In function ‘skip_whitespace’:
config.c:69:13: warning: old-style function definition [-Wold-style-definition]
   69 | static void skip_whitespace(f, linenum)
      |             ^~~~~~~~~~~~~~~
config.c: In function ‘readPathsAndExts’:
config.c:95:13: warning: old-style function definition [-Wold-style-definition]
   95 | static void readPathsAndExts(name)
      |             ^~~~~~~~~~~~~~~~
config.c:242:28: error: too many arguments to function ‘expandPath’; expected 0, have 1
  242 |         Paths[NumPaths++]= expandPath(buf);
      |                            ^~~~~~~~~~ ~~~
xloadimage.h:54:7: note: declared here
   54 | char *expandPath(); /* path.c */
      |       ^~~~~~~~~~
config.c: In function ‘fileIsOk’:
config.c:300:12: warning: old-style function definition [-Wold-style-definition]
  300 | static int fileIsOk(fullname, sbuf)
      |            ^~~~~~~~
config.c: In function ‘findImage’:
config.c:313:5: warning: old-style function definition [-Wold-style-definition]
  313 | int findImage(name, fullname)
      |     ^~~~~~~~~
config.c:315:1: error: number of arguments doesn’t match prototype
  315 | { unsigned int   p, e;
      | ^
xloadimage.h:55:5: error: prototype declaration
   55 | int findImage();
      |     ^~~~~~~~~
config.c: In function ‘expandPath’:
config.c:453:7: warning: old-style function definition [-Wold-style-definition]
  453 | char *expandPath(p)
      |       ^~~~~~~~~~
config.c:455:1: error: number of arguments doesn’t match prototype
  455 | { char buf1[BUFSIZ], buf2[BUFSIZ];
      | ^
xloadimage.h:54:7: error: prototype declaration
   54 | char *expandPath(); /* path.c */
      |       ^~~~~~~~~~
fbm.c: In function ‘fbmin_open_image’:
fbm.c:107:12: warning: old-style function definition [-Wold-style-definition]
  107 | static int fbmin_open_image(s)
      |            ^~~~~~~~~~~~~~~~
fbm.c: In function ‘tellAboutImage’:
fbm.c:187:13: warning: old-style function definition [-Wold-style-definition]
  187 | static void tellAboutImage(name)
      |             ^~~~~~~~~~~~~~
fbm.c: In function ‘fbmLoad’:
fbm.c:198:8: warning: old-style function definition [-Wold-style-definition]
  198 | Image *fbmLoad(fullname, name, verbose)
      |        ^~~~~~~
fbm.c: In function ‘fbmIdent’:
fbm.c:291:5: warning: old-style function definition [-Wold-style-definition]
  291 | int fbmIdent(fullname, name)
      |     ^~~~~~~~
make[1]: *** [Makefile:33: config.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/xloadimage-4.1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:56: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2