Subject: c-icap: ftbfs with GCC-15

From: Matthias Klose <[email-masked]>
Date: Mon, 17 Feb 2025 17:06:08 +0000

Package: src:c-icap
Version: 1:0.5.10-6.1
Severity: important
Tags: sid forky
User: [email-masked]
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/c-icap_0.5.10-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

[...]
checking size of long... 8
checking size of long long... 8
checking for nanosleep... yes
checking for inet_aton... yes
checking for strnstr... no
checking for strcasestr... yes
checking for strncasestr... no
checking for setgroups... yes
checking for gcc options needed to detect all undeclared functions... none needed
checking whether strerror_r is declared... yes
checking whether strerror_r returns char *... yes
checking for poll.h... yes
checking for poll... yes
checking for sys/ipc.h... yes
checking for mmap... yes
checking for munmap... yes
checking if union semun defined... no
checking if posix 1003.1b interprocess semaphores works... no
checking if fcntl file locking works... yes
checking if posix shared mem works... yes
checking if have pthread_rwlock... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating include/c-icap-conf.h
config.status: creating Makefile
config.status: creating utils/Makefile
config.status: creating services/Makefile
config.status: creating services/echo/Makefile
config.status: creating services/ex-206/Makefile
config.status: creating modules/Makefile
config.status: creating tests/Makefile
config.status: creating docs/Makefile
config.status: creating docs/man/Makefile
config.status: creating autoconf.h
config.status: executing depfiles commands
config.status: executing libtool commands
make[1]: Leaving directory '/build/reproducible-path/c-icap-0.5.10'
   dh_auto_build
	make -j8
make[1]: Entering directory '/build/reproducible-path/c-icap-0.5.10'
make  all-recursive
make[2]: Entering directory '/build/reproducible-path/c-icap-0.5.10'
Making all in .
make[3]: Entering directory '/build/reproducible-path/c-icap-0.5.10'
http_auth.c: In function ‘http_authenticate’:
http_auth.c:119:13: error: too many arguments to function ‘auth_method->release_authentication_header’; expected 0, have 1
  119 |             auth_method->release_authentication_header(auth_header);
      |             ^~~~~~~~~~~                                ~~~~~~~~~~~
In file included from http_auth.c:24:
./include/module.h:99:12: note: declared here
   99 |     void (*release_authentication_header)();
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:1234: c_icap-http_auth.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/c-icap-0.5.10'
make[2]: *** [Makefile:1436: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/c-icap-0.5.10'
make[1]: *** [Makefile:650: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/c-icap-0.5.10'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2