Package: src:icon Version: 9.5.24a-2 Severity: important Tags: sid forky User: [email protected] 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/icon_9.5.24a-2_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 [...] rttdb.c: In function 'dumpdb': rttdb.c:286:57: error: passing argument 6 of 'prt_impls' from incompatible pointer type [-Wincompatible-pointer-types] 286 | prt_impls(db, "functions", bhash, num_fnc, sort_ary, name_cmp); | ^~~~~~~~ | | | int (*)(char *, char *) rttdb.c:20:72: note: expected 'int (*)(void)' but argument is of type 'int (*)(char *, char *)' 20 | int num, struct implement **sort_ary, int (*com)()); | ~~~~~~^~~~~~ rttdb.c:16:16: note: 'name_cmp' declared here 16 | static int name_cmp (char *p1, char *p2); | ^~~~~~~~ rttdb.c:287:58: error: passing argument 6 of 'prt_impls' from incompatible pointer type [-Wincompatible-pointer-types] 287 | prt_impls(db, "\noperators", ohash, num_op, sort_ary, op_cmp); | ^~~~~~ | | | int (*)(char *, char *) rttdb.c:20:72: note: expected 'int (*)(void)' but argument is of type 'int (*)(char *, char *)' 20 | int num, struct implement **sort_ary, int (*com)()); | ~~~~~~^~~~~~ rttdb.c:17:16: note: 'op_cmp' declared here 17 | static int op_cmp (char *p1, char *p2); | ^~~~~~ rttdb.c:288:58: error: passing argument 6 of 'prt_impls' from incompatible pointer type [-Wincompatible-pointer-types] 288 | prt_impls(db, "\nkeywords", khash, num_key, sort_ary, name_cmp); | ^~~~~~~~ | | | int (*)(char *, char *) rttdb.c:20:72: note: expected 'int (*)(void)' but argument is of type 'int (*)(char *, char *)' 20 | int num, struct implement **sort_ary, int (*com)()); | ~~~~~~^~~~~~ rttdb.c:16:16: note: 'name_cmp' declared here 16 | static int name_cmp (char *p1, char *p2); | ^~~~~~~~ rttdb.c: In function 'prt_impls': rttdb.c:327:64: error: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types] 327 | qsort((char *)sort_ary, num, sizeof(struct implement *), cmp); | ^~~ | | | int (*)(void) In file included from ../preproc/../h/../h/sys.h:15, from ../preproc/../h/gsupport.h:9, from ../preproc/preproc.h:1, from rtt1.h:1, from rtt.h:2, from rttdb.c:6: /usr/include/stdlib.h:971:34: note: expected '__compar_fn_t' {aka 'int (*)(const void *, const void *)'} but argument is of type 'int (*)(void)' 971 | __compar_fn_t __compar) __nonnull ((1, 4)); | ~~~~~~~~~~~~~~^~~~~~~~ /usr/include/stdlib.h:948:15: note: '__compar_fn_t' declared here 948 | typedef int (*__compar_fn_t) (const void *, const void *); | ^~~~~~~~~~~~~ rttdb.c: In function 'prt_dpnd': rttdb.c:1091:10: error: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types] 1091 | (int (*)())src_cmp); | ^~~~~~~~~~~~~~~~~~ | | | int (*)(void) /usr/include/stdlib.h:971:34: note: expected '__compar_fn_t' {aka 'int (*)(const void *, const void *)'} but argument is of type 'int (*)(void)' 971 | __compar_fn_t __compar) __nonnull ((1, 4)); | ~~~~~~~~~~~~~~^~~~~~~~ /usr/include/stdlib.h:948:15: note: '__compar_fn_t' declared here 948 | typedef int (*__compar_fn_t) (const void *, const void *); | ^~~~~~~~~~~~~ make[2]: *** [<builtin>: rttdb.o] Error 1 make[2]: Leaving directory '/build/reproducible-path/icon-9.5.24a/src/rtt' make[1]: *** [Makefile:68: bin/icont] Error 2 make[1]: Leaving directory '/build/reproducible-path/icon-9.5.24a' make: *** [debian/rules:47: build-ipl] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

