[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/qiv_2.3.3-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
[...]
from /usr/include/glib-2.0/gio/gioenums.h:30,
from /usr/include/glib-2.0/gio/giotypes.h:30,
from /usr/include/glib-2.0/gio/gio.h:28,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gdk/gdkprivate.h:30,
from /usr/include/gtk-2.0/gdk/gdkx.h:30,
from main.c:10:
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
| ~~~~~~~~~~~~~~~^~~~~~~~~
main.c:28:13: note: ‘qiv_signal_usr1’ declared here
28 | static void qiv_signal_usr1();
| ^~~~~~~~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
72 | typedef void (*__sighandler_t) (int);
| ^~~~~~~~~~~~~~
main.c:211:19: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
211 | signal(SIGUSR2, qiv_signal_usr2);
| ^~~~~~~~~~~~~~~
| |
| void (*)(void)
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
| ~~~~~~~~~~~~~~~^~~~~~~~~
main.c:29:13: note: ‘qiv_signal_usr2’ declared here
29 | static void qiv_signal_usr2();
| ^~~~~~~~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
72 | typedef void (*__sighandler_t) (int);
| ^~~~~~~~~~~~~~
make[2]: *** [Makefile:126: main.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:126: event.o] Error 1
In file included from image.c:17:
qiv.h:205:13: error: conflicting types for ‘qiv_load_image’; have ‘void(qiv_image *)’ {aka ‘void(struct _qiv_image *)’}
205 | extern void qiv_load_image(qiv_image *);
| ^~~~~~~~~~~~~~
qiv.h:193:13: note: previous declaration of ‘qiv_load_image’ with type ‘void(void)’
193 | extern void qiv_load_image();
| ^~~~~~~~~~~~~~
image.c:228:6: error: conflicting types for ‘qiv_load_image’; have ‘void(qiv_image *)’ {aka ‘void(struct _qiv_image *)’}
228 | void qiv_load_image(qiv_image *q)
| ^~~~~~~~~~~~~~
qiv.h:193:13: note: previous declaration of ‘qiv_load_image’ with type ‘void(void)’
193 | extern void qiv_load_image();
| ^~~~~~~~~~~~~~
make[2]: *** [Makefile:126: image.o] Error 1
In file included from options.c:9:
qiv.h:205:13: error: conflicting types for ‘qiv_load_image’; have ‘void(qiv_image *)’ {aka ‘void(struct _qiv_image *)’}
205 | extern void qiv_load_image(qiv_image *);
| ^~~~~~~~~~~~~~
qiv.h:193:13: note: previous declaration of ‘qiv_load_image’ with type ‘void(void)’
193 | extern void qiv_load_image();
| ^~~~~~~~~~~~~~
In file included from utils.c:25:
qiv.h:205:13: error: conflicting types for ‘qiv_load_image’; have ‘void(qiv_image *)’ {aka ‘void(struct _qiv_image *)’}
205 | extern void qiv_load_image(qiv_image *);
| ^~~~~~~~~~~~~~
qiv.h:193:13: note: previous declaration of ‘qiv_load_image’ with type ‘void(void)’
193 | extern void qiv_load_image();
| ^~~~~~~~~~~~~~
make[2]: *** [Makefile:126: options.o] Error 1
make[2]: *** [Makefile:126: utils.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/qiv-2.3.3'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" "EXTNS=GIF TIFF XPM PNG PPM PNM PGM PCX BMP EIM JPEG SVG ICO WEBP HEIF" returned exit code 2
make[1]: *** [debian/rules:7: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/qiv-2.3.3'
make: *** [debian/rules:4: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2