librelp
librelp copied to clipboard
librelp: ftbfs with GCC-15
Forwarded from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1097259
Package: src:librelp
Version: 1.11.0-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/librelp_1.11.0-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
[...]
70 | do_signal(const int sig)
| ^~~~~~~~~
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -Wl,-z,now -o have_tlslib have_tlslib.o -lssl -lcrypto -lssl -lcrypto
make[3]: *** [Makefile:747: send-send.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -Wl,-z,now -o msleep msleep.o -lssl -lcrypto -lssl -lcrypto
receive.c: In function ‘hdlr_enable’:
receive.c:76:27: error: assignment to ‘__sighandler_t’ {aka ‘void (*)(int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
76 | sigAct.sa_handler = hdlr;
| ^
In file included from receive.c:35:
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
72 | typedef void (*__sighandler_t) (int);
| ^~~~~~~~~~~~~~
receive.c: In function ‘main’:
receive.c:396:38: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
396 | hdlr_enable(SIGPIPE, do_signal);
| ^~~~~~~~~
| |
| __attribute__((noreturn)) void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘__attribute__((noreturn)) void (*)(const int)’
71 | hdlr_enable(int sig, void (*hdlr)())
| ~~~~~~~^~~~~~~
receive.c:101:1: note: ‘do_signal’ declared here
101 | do_signal(const int sig)
| ^~~~~~~~~
receive.c:400:30: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
400 | hdlr_enable(SIGUSR1, do_exit);
| ^~~~~~~
| |
| void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘void (*)(const int)’
71 | hdlr_enable(int sig, void (*hdlr)())
| ~~~~~~~^~~~~~~
receive.c:113:1: note: ‘do_exit’ declared here
113 | do_exit(LIBRELP_ATTR_UNUSED const int sig)
| ^~~~~~~
receive.c:401:30: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
401 | hdlr_enable(SIGTERM, terminate);
| ^~~~~~~~~
| |
| void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘void (*)(const int)’
71 | hdlr_enable(int sig, void (*hdlr)())
| ~~~~~~~^~~~~~~
receive.c:81:1: note: ‘terminate’ declared here
81 | terminate(LIBRELP_ATTR_UNUSED const int sig)
| ^~~~~~~~~
receive.c:402:30: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
402 | hdlr_enable(SIGALRM, watchdog_expired);
| ^~~~~~~~~~~~~~~~
| |
| __attribute__((noreturn)) void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘__attribute__((noreturn)) void (*)(const int)’
71 | hdlr_enable(int sig, void (*hdlr)())
| ~~~~~~~^~~~~~~
receive.c:91:1: note: ‘watchdog_expired’ declared here
91 | watchdog_expired(LIBRELP_ATTR_UNUSED const int sig)
| ^~~~~~~~~~~~~~~~
make[3]: *** [Makefile:733: receive-receive.o] Error 1
libtool: link: gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -o have_tlslib have_tlslib.o -lssl -lcrypto
libtool: link: gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -o msleep msleep.o -lssl -lcrypto
make[3]: Leaving directory '/build/reproducible-path/librelp-1.11.0/tests'
make[2]: *** [Makefile:1028: check-am] Error 2
make[2]: Leaving directory '/build/reproducible-path/librelp-1.11.0/tests'
make[1]: *** [Makefile:480: check-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/librelp-1.11.0'
dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2