#1097871 sendip: ftbfs with GCC-15

Package:
src:sendip
Source:
src:sendip
Submitter:
Matthias Klose
Date:
2026-10-05 14:55:04 UTC
Severity:
normal
Tags:
#1097871#5
Date:
2025-02-17 17:53:05 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/sendip_2.6-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

[...]
dpkg-buildpackage
-----------------

Command: dpkg-buildpackage --sanitize-env -us -uc -b
dpkg-buildpackage: info: source package sendip
dpkg-buildpackage: info: source version 2.6-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Jonathan McDowell <noodles@earth.li>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean
   dh_auto_clean
	make -j8 clean
make[1]: Entering directory '/build/reproducible-path/sendip-2.6'
rm -f *.o *~ *.so ipv4.so ipv6.so icmp.so tcp.so udp.so rip.so ripng.so ntp.so bgp.so sendip core gmon.out
make[1]: Leaving directory '/build/reproducible-path/sendip-2.6'
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
   dh_auto_build
	make -j8 "INSTALL=install --strip-program=true"
make[1]: Entering directory '/build/reproducible-path/sendip-2.6'
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sendip-2.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fsigned-char -pipe -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wnested-externs -Winline -Werror -g -Wcast-align -DSENDIP_LIBS=\"/usr/lib/x86_64-linux-gnu/sendip\" -Wdate-time -D_FORTIFY_SOURCE=2  -c -o csum.o csum.c
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sendip-2.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fsigned-char -pipe -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wnested-externs -Winline -Werror -g -Wcast-align -DSENDIP_LIBS=\"/usr/lib/x86_64-linux-gnu/sendip\" -Wdate-time -D_FORTIFY_SOURCE=2  -c -o compact.o compact.c
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sendip-2.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fsigned-char -pipe -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wnested-externs -Winline -Werror -g -Wcast-align -DSENDIP_LIBS=\"/usr/lib/x86_64-linux-gnu/sendip\" -Wdate-time -D_FORTIFY_SOURCE=2  -c -o sendip.o sendip.c
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sendip-2.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fsigned-char -pipe -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wnested-externs -Winline -Werror -g -Wcast-align -DSENDIP_LIBS=\"/usr/lib/x86_64-linux-gnu/sendip\" -Wdate-time -D_FORTIFY_SOURCE=2  -c -o gnugetopt.o gnugetopt.c
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sendip-2.6=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fsigned-char -pipe -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wnested-externs -Winline -Werror -g -Wcast-align -DSENDIP_LIBS=\"/usr/lib/x86_64-linux-gnu/sendip\" -Wdate-time -D_FORTIFY_SOURCE=2  -c -o gnugetopt1.o gnugetopt1.c
echo -n '%define ver ' >sendip.spec
cat VERSION >>sendip.spec
cat sendip.spec.in >>sendip.spec
In file included from sendip_module.h:6,
                 from sendip.c:40:
types.h:11:13: error: ‘bool’ cannot be defined via ‘typedef’
   11 | typedef int bool;
      |             ^~~~
types.h:11:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
types.h:11:1: error: useless type name in empty declaration [-Werror]
   11 | typedef int bool;
      | ^~~~~~~
In file included from csum.c:15:
types.h:11:13: error: ‘bool’ cannot be defined via ‘typedef’
   11 | typedef int bool;
      |             ^~~~
types.h:11:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
types.h:11:1: error: useless type name in empty declaration [-Werror]
   11 | typedef int bool;
      | ^~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [<builtin>: csum.o] Error 1
make[1]: *** Waiting for unfinished jobs....
gnugetopt.c: In function ‘exchange’:
gnugetopt.c:303:1: error: old-style function definition [-Werror=old-style-definition]
  303 | exchange (argv)
      | ^~~~~~~~
cc1: all warnings being treated as errors
gnugetopt.c: In function ‘_getopt_initialize’:
gnugetopt.c:388:1: error: old-style function definition [-Werror=old-style-definition]
  388 | _getopt_initialize (argc, argv, optstring)
      | ^~~~~~~~~~~~~~~~~~
make[1]: *** [<builtin>: sendip.o] Error 1
cc1: all warnings being treated as errors
make[1]: *** [<builtin>: gnugetopt.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/sendip-2.6'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1097871#14
Date:
2026-05-23 06:11:18 UTC
From:
To:
Attached debdiff for an NMU (sendip 2.6-1.1) fixing the GCC 15 FTBFS.

    * 11-fix-ftbfs-gcc15-bool.patch — types.h: replace 'typedef int
bool;' with '#include <stdbool.h>' (per the GCC 15 porting guide).
    * 12-fix-ftbfs-gcc15-old-style-defs.patch — gnugetopt.c: convert
exchange() and _getopt_initialize() to ANSI prototypes.

Built cleanly in a sid amd64 sbuild chroot; lintian shows no new
errors or warnings.

Regards,
Azeez Syed

#1097871#21
Date:
2026-10-05 14:15:04 UTC
From:
To:
Please find an updated debdiff that I am uploading as NMU.
#1097871#26
Date:
2026-10-05 14:53:39 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
sendip, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1097871@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Bastian Germann <bage@debian.org> (supplier of updated sendip package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 05 Oct 2026 16:10:53 +0200
Source: sendip
Architecture: source
Version: 2.6-1.1
Distribution: unstable
Urgency: medium
Maintainer: Jonathan McDowell <noodles@earth.li>
Changed-By: Bastian Germann <bage@debian.org>
Closes: 1047395 1097871
Changes:
 sendip (2.6-1.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Drop -Werror.
   * Run make veryclean. (closes: #1047395)
 .
   [ Azeez Syed ]
   * Fix FTBFS with GCC 15 / C23 (closes: #1097871):
     - debian/patches/11-fix-ftbfs-gcc15-bool.patch: replace
       'typedef int bool;' in types.h with '#include <stdbool.h>',
       as recommended by the GCC 15 porting guide.
     - debian/patches/12-fix-ftbfs-gcc15-old-style-defs.patch: convert
       K&R-style definitions of exchange() and _getopt_initialize() in
       gnugetopt.c to ANSI prototypes.
Checksums-Sha1:
 784e6765082455b9da859817d3473c1ff40a250c 1654 sendip_2.6-1.1.dsc
 a6e012a2e3f50a22ee05602f866f87163980fa08 7128 sendip_2.6-1.1.debian.tar.xz
 ca411b01dc3b95c462ba24173fd87cb6b4c879b6 5147 sendip_2.6-1.1_source.buildinfo
Checksums-Sha256:
 4d4938e8e6cdb6eeb23b9eb5f9d39a25b98fa50db5c1ff284eeb2bbedc09d6cb 1654 sendip_2.6-1.1.dsc
 9a8a0b49a0af65035789725dc330478a57f1ddda06dee06283bfa7042cd71603 7128 sendip_2.6-1.1.debian.tar.xz
 24c1d9ed3111691e138e4efb4aeac800e2ac26f1da8f14cb394e47f3c850be01 5147 sendip_2.6-1.1_source.buildinfo
Files:
 a9823f20055d2a924d19782245c1a3e3 1654 net optional sendip_2.6-1.1.dsc
 ebec68851108d4caa116d77a2cf92590 7128 net optional sendip_2.6-1.1.debian.tar.xz
 ccaa124d2fb5217a3fe23bc2c8c81276 5147 net optional sendip_2.6-1.1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmrDsAAQHGJhZ2VAZGVi
aWFuLm9yZwAKCRAfXHqLRVZDFHwHC/9Pq+Gs9T0cJxueIlMKTPNjF3sHjqBRszg8
E3aWntaozSPT6pXafVPsOlFMJjPit1z0GvkV1Jbsrlr35vhk+c97fB12GdlFMRLK
uPxIXtJtvecHvMFO+YjZFf4tcdsqoL96Qaja5pi1rOmGwTdAnXFYenBPihyh3mQc
FXwTFoYlQukVzC+Nt5HbAXOIs/eeORsD76+381+JGO0ZI2uJRD1ZHQRRzKVTKuhV
t7glP3WJLi3Norr+2RFx5rDdn+cncUXzTAe6E85lElijvqGlIQMvAJovrdf3n9jJ
Dcqp9v1yeCa9ELgIAYx5MHcNR5kU1BOYoMc4hmTU6utYb5gvdzZxPvl9dRSnCkom
aSQBRwL3VwkhOC22OSpYfMGw1q0BfTSPRshtU1mTTR306AtsxNGQM82COpmpgLV5
75cLJHz9lh5NYxV2uBOk2DxU2ZscFqABbhefWl4lAzBs+Gbr0pSrgSgFHX9zKp1f
WHfVXYDh9SYpkB89OuzamsdpLaQ/PcM=
=Gadv
-----END PGP SIGNATURE-----