#1097538 packit: ftbfs with GCC-15

Package:
src:packit
Source:
src:packit
Submitter:
Matthias Klose
Date:
2025-09-04 22:09:44 UTC
Severity:
normal
Tags:
#1097538#5
Date:
2025-02-17 17:42:14 UTC
From:
To:
[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/packit_1.8.1-1_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

[...]
|_|

has been configured with the following options:
-----------------------------------------------
Host type             : x86_64-pc-linux-gnu
Compiler              : gcc
Compiler flags        : -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall
Linker flags          : -Wl,-z,relro -Wl,-z,now
Libraries             : -lpcap -lpcap -lpcap -lnet

Binary                : /usr/bin
Manual pages          : /usr/share/man/

Injection support     : yes
Capture support       : yes
Enable debugging      : no
-----------------------------------------------

   dh_auto_build
	make -j8
make[1]: Entering directory '/build/reproducible-path/packit-1.8.1'
make  all-recursive
make[2]: Entering directory '/build/reproducible-path/packit-1.8.1'
Making all in src
make[3]: Entering directory '/build/reproducible-path/packit-1.8.1/src'
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o init.o init.c
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o define_defaults.o define_defaults.c
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o error.o error.c
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o injection.o injection.c
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o capture.o capture.c
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o shape_arp_hdr.o shape_arp_hdr.c
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o shape_tcp_hdr.o shape_tcp_hdr.c
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../includes -I/usr/include/pcap -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/packit-1.8.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -c -o shape_udp_hdr.o shape_udp_hdr.c
injection.c: In function ‘injection_init’:
injection.c:102:17: error: too many arguments to function ‘without_response’; expected 0, have 1
  102 |                 without_response(g_port_range);
      |                 ^~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
In file included from injection.c:32:
injection.h:42:11: note: declared here
   42 | u_int16_t without_response();
      |           ^~~~~~~~~~~~~~~~
injection.c:104:17: error: too many arguments to function ‘with_response’; expected 0, have 1
  104 |                 with_response(g_port_range);
      |                 ^~~~~~~~~~~~~ ~~~~~~~~~~~~
injection.h:41:11: note: declared here
   41 | u_int16_t with_response();
      |           ^~~~~~~~~~~~~
injection.c: At top level:
injection.c:111:11: error: conflicting types for ‘with_response’; have ‘u_int16_t(u_int32_t)’ {aka ‘short unsigned int(unsigned int)’}
  111 | u_int16_t with_response(u_int32_t g_port_range)
      |           ^~~~~~~~~~~~~
injection.h:41:11: note: previous declaration of ‘with_response’ with type ‘u_int16_t(void)’ {aka ‘short unsigned int(void)’}
   41 | u_int16_t with_response();
      |           ^~~~~~~~~~~~~
injection.c:289:11: error: conflicting types for ‘without_response’; have ‘u_int16_t(u_int32_t)’ {aka ‘short unsigned int(unsigned int)’}
  289 | u_int16_t without_response(u_int32_t g_port_range)
      |           ^~~~~~~~~~~~~~~~
injection.h:42:11: note: previous declaration of ‘without_response’ with type ‘u_int16_t(void)’ {aka ‘short unsigned int(void)’}
   42 | u_int16_t without_response();
      |           ^~~~~~~~~~~~~~~~
make[3]: *** [Makefile:492: injection.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/packit-1.8.1/src'
make[2]: *** [Makefile:472: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/packit-1.8.1'
make[1]: *** [Makefile:370: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/packit-1.8.1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2