Bug#1097432: nast: ftbfs with GCC-15
Package: src:nast
Version: 0.2.0-12
Severity: important
Tags: sid forky
User: debian-gcc@lists.debian.org
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/nast_0.2.0-12_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
[...]
include/nast.h:60:29: note: expected ‘char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
60 | void print_ascii_hex (char *data_info, u_int len, FILE *log);
| ~~~~~~^~~~~~~~~
tcp.c: In function ‘handle_TCP’:
tcp.c:101:13: warning: pointer targets in assignment from ‘char *’ to ‘u_char *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
101 | buf = (char *) (packet + offset + size_ip + size_tcp);
| ^
tcp.c:106:27: warning: pointer targets in passing argument 1 of ‘data_sniffo’ differ in signedness [-Wpointer-sign]
106 | data_sniffo (buf, size_buf, output);
| ^~~
| |
| u_char * {aka unsigned char *}
In file included from tcp.c:20:
include/nast.h:59:25: note: expected ‘char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
59 | void data_sniffo (char *data, u_int l, FILE *log);
| ~~~~~~^~~~
udp.c:81:27: warning: pointer targets in passing argument 1 of ‘data_sniffo’ differ in signedness [-Wpointer-sign]
81 | data_sniffo (buf, size_buf, ldd);
| ^~~
| |
| u_char * {aka unsigned char *}
tcp.c:112:31: warning: pointer targets in passing argument 1 of ‘print_ascii_hex’ differ in signedness [-Wpointer-sign]
112 | print_ascii_hex (buf, size_buf, output);
| ^~~
| |
| u_char * {aka unsigned char *}
include/nast.h:60:29: note: expected ‘char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
60 | void print_ascii_hex (char *data_info, u_int len, FILE *log);
| ~~~~~~^~~~~~~~~
include/nast.h:59:25: note: expected ‘char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
59 | void data_sniffo (char *data, u_int l, FILE *log);
| ~~~~~~^~~~
tcp.c:124:27: warning: pointer targets in passing argument 1 of ‘data_sniffo’ differ in signedness [-Wpointer-sign]
124 | data_sniffo (buf, size_buf, ldd);
| ^~~
| |
| u_char * {aka unsigned char *}
include/nast.h:59:25: note: expected ‘char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
59 | void data_sniffo (char *data, u_int l, FILE *log);
| ~~~~~~^~~~
make[1]: *** [Makefile:37: main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
prom.c: In function ‘psearch’:
prom.c:171:23: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
171 | sprintf (ip, "%d.%d.%d.%d", uphost[i].ip[0], uphost[i].ip[1], uphost[i].ip[2], uphost[i].ip[3]);
| ^~
| |
| u_char * {aka unsigned char *}
In file included from /usr/include/features.h:510,
from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
from /usr/include/stdio.h:28,
from /usr/include/libnet.h:53,
from include/nast.h:23,
from prom.c:20:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
| ^~~~~
prom.c:172:95: warning: pointer targets in passing argument 1 of ‘inet_addr’ differ in signedness [-Wpointer-sign]
172 | n_print ("princ",ln,1,lg,"%s (%s) --------->", ip, libnet_addr2name4(inet_addr(ip), LIBNET_RESOLVE));
| ^~
| |
| u_char * {aka unsigned char *}
In file included from /usr/include/libnet.h:79:
/usr/include/arpa/inet.h:34:41: note: expected ‘const char *’ but argument is of type ‘u_char *’ {aka ‘unsigned char *’}
34 | extern in_addr_t inet_addr (const char *__cp) __THROW;
| ~~~~~~~~~~~~^~~~
make[1]: Leaving directory '/build/reproducible-path/nast-0.2.0'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: