Bug#1097887: sipgrep: ftbfs with GCC-15
Matthias Klose
doko at debian.org
Mon Feb 17 17:53:37 GMT 2025
Package: src:sipgrep
Version: 2.2.0-2
Severity: important
Tags: sid forky
User: debian-gcc at 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/sipgrep_2.2.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
[...]
sipgrep.c:192:50: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(struct pcap_pkthdr *)’ [-Wincompatible-pointer-types]
192 | void (*print_time) () = NULL, (*dump_delay) () = dump_delay_proc_init;
| ^~~~~~~~~~~~~~~~~~~~
include/sipgrep.h:121:6: note: ‘dump_delay_proc_init’ declared here
121 | void dump_delay_proc_init(struct pcap_pkthdr *);
| ^~~~~~~~~~~~~~~~~~~~
sipgrep.c: In function ‘main’:
sipgrep.c:240:14: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(struct pcap_pkthdr *)’ [-Wincompatible-pointer-types]
240 | print_time = &print_time_absolute;
| ^
include/sipgrep.h:128:6: note: ‘print_time_absolute’ declared here
128 | void print_time_absolute(struct pcap_pkthdr *);
| ^~~~~~~~~~~~~~~~~~~
sipgrep.c:352:18: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(struct pcap_pkthdr *)’ [-Wincompatible-pointer-types]
352 | print_time = &print_time_diff;
| ^
include/sipgrep.h:129:6: note: ‘print_time_diff’ declared here
129 | void print_time_diff (struct pcap_pkthdr *);
| ^~~~~~~~~~~~~~~
sipgrep.c:448:5: warning: ‘pcap_lookupdev’ is deprecated: use 'pcap_findalldevs' and use the first device [-Wdeprecated-declarations]
448 | char *dev = usedev ? usedev : pcap_lookupdev (pc_err);
| ^~~~
In file included from /usr/include/pcap.h:43,
from sipgrep.c:87:
/usr/include/pcap/pcap.h:444:18: note: declared here
444 | PCAP_API char *pcap_lookupdev(char *);
| ^~~~~~~~~~~~~~
sipgrep.c:585:16: error: assignment to ‘int8_t (*)(void)’ {aka ‘signed char (*)(void)’} from incompatible pointer type ‘int8_t (*)(unsigned char *, uint32_t)’ {aka ‘signed char (*)(unsigned char *, unsigned int)’} [-Wincompatible-pointer-types]
585 | match_func = &re_match_func;
| ^
include/sipgrep.h:124:8: note: ‘re_match_func’ declared here
124 | int8_t re_match_func (unsigned char *, uint32_t);
| ^~~~~~~~~~~~~
sipgrep.c:595:11: warning: passing argument 1 of ‘free’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
595 | free (match_data);
| ^~~~~~~~~~
In file included from sipgrep.c:80:
/usr/include/stdlib.h:687:25: note: expected ‘void *’ but argument is of type ‘PCRE2_SPTR8’ {aka ‘const unsigned char *’}
687 | extern void free (void *__ptr) __THROW;
| ~~~~~~^~~~~
sipgrep.c: In function ‘dump_packet’:
sipgrep.c:1459:31: error: too many arguments to function ‘match_func’; expected 0, have 2
1459 | local_match = match_func (d, len);
| ^~~~~~~~~~ ~
sipgrep.c:1592:39: error: too many arguments to function ‘dump_delay’; expected 0, have 1
1592 | if (!live_read && want_delay) dump_delay (h);
| ^~~~~~~~~~ ~
sipgrep.c:1624:31: error: too many arguments to function ‘print_time’; expected 0, have 1
1624 | if (print_time) print_time (h);
| ^~~~~~~~~~ ~
sipgrep.c: In function ‘dump_delay_proc_init’:
sipgrep.c:1980:14: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(struct pcap_pkthdr *)’ [-Wincompatible-pointer-types]
1980 | dump_delay = &dump_delay_proc;
| ^
include/sipgrep.h:122:6: note: ‘dump_delay_proc’ declared here
122 | void dump_delay_proc (struct pcap_pkthdr *);
| ^~~~~~~~~~~~~~~
sipgrep.c:1985:3: error: too many arguments to function ‘dump_delay’; expected 0, have 1
1985 | dump_delay (h);
| ^~~~~~~~~~ ~
make[3]: *** [Makefile:459: sipgrep.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/sipgrep-2.2.0/src'
make[2]: *** [Makefile:337: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/sipgrep-2.2.0/src'
make[1]: *** [Makefile:410: all-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/sipgrep-2.2.0'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the Pkg-voip-maintainers
mailing list