[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/netpipes_4.2-8_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
[...]
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
72 | typedef void (*__sighandler_t) (int);
| ^~~~~~~~~~~~~~
common.h:95:17: error: assignment to ‘__sighandler_t’ {aka ‘void (*)(int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
95 | sa.sa_handler = b; \
| ^
faucet.c:532:3: note: in expansion of macro ‘signal’
532 | signal(SIGALRM, nice_shutdown);
| ^~~~~~
faucet.c:93:6: note: ‘nice_shutdown’ declared here
93 | void nice_shutdown()
| ^~~~~~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
72 | typedef void (*__sighandler_t) (int);
| ^~~~~~~~~~~~~~
common.h:95:17: error: assignment to ‘__sighandler_t’ {aka ‘void (*)(int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
95 | sa.sa_handler = b; \
| ^
faucet.c:533:3: note: in expansion of macro ‘signal’
533 | signal(SIGTERM, nice_shutdown);
| ^~~~~~
faucet.c:93:6: note: ‘nice_shutdown’ declared here
93 | void nice_shutdown()
| ^~~~~~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
72 | typedef void (*__sighandler_t) (int);
| ^~~~~~~~~~~~~~
faucet.c:536:25: error: too many arguments to function ‘convert_hostname’; expected 0, have 2
536 | 0==(foreignHOST = convert_hostname(foreignhost, &foreignCOUNT))) {
| ^~~~~~~~~~~~~~~~ ~~~~~~~~~~~
common.h:61:1: note: declared here
61 | convert_hostname(/* char *, int * */);
| ^~~~~~~~~~~~~~~~
faucet.c:546:27: error: too many arguments to function ‘name_to_inet_port’; expected 0, have 1
546 | 0 == (foreignPORT = name_to_inet_port(foreignport)) ) {
| ^~~~~~~~~~~~~~~~~ ~~~~~~~~~~~
common.h:56:5: note: declared here
56 | int name_to_inet_port(/* char* */);
| ^~~~~~~~~~~~~~~~~
faucet.c:653:15: error: too many arguments to function ‘printhost’; expected 0, have 2
653 | printhost(stderr, &saddr.sa);
| ^~~~~~~~~ ~~~~~~
common.h:66:1: note: declared here
66 | printhost(/* FILE, struct sockaddr * */);
| ^~~~~~~~~
faucet.c:654:45: error: too many arguments to function ‘get_port’; expected 0, have 1
654 | fprintf(stderr, " port %d\n", get_port(&saddr.ss));
| ^~~~~~~~ ~~~~~~~~~
common.h:53:5: note: declared here
53 | int get_port(/* struct sockaddr_storage * */);
| ^~~~~~~~
faucet.c:687:7: error: too many arguments to function ‘dup_n’; expected 0, have 1
687 | dup_n(rval); /* dup the socket onto all the chosen file descriptors */
| ^~~~~ ~~~~
common.h:49:6: note: declared here
49 | void dup_n(/*int socket */);
| ^~~~~
faucet.c:693:7: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
693 | write(duped_stderr,s,strlen(s));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
faucet.c: At top level:
faucet.c:23:13: warning: ‘info’ defined but not used [-Wunused-variable]
23 | static char info[] = "faucet: a network utility for sockets\nWritten 1992-98 by Robert Forsman <thoth@purplefrog.com>\n$Id: faucet.c,v 1.22 1998/08/13 15:01:06 thoth Exp $\n";
| ^~~~
make[2]: *** [<builtin>: faucet.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/netpipes-4.2'
make[1]: *** [debian/rules:19: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/netpipes-4.2'
make: *** [debian/rules:16: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2