Bug#1097655: proftpd-mod-clamav: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:46:07 GMT 2025


Package: src:proftpd-mod-clamav
Version: 0.14~rc2-4
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/proftpd-mod-clamav_0.14~rc2-4_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

[...]
   39 | #define MOD_CLAMAV_VERSION "mod_clamav/0.14rc2"
      |                            ^~~~~~~~~~~~~~~~~~~~
mod_clamav.c:248:26: note: in expansion of macro 'MOD_CLAMAV_VERSION'
  248 |     pr_log_debug(DEBUG4, MOD_CLAMAV_VERSION ": Streaming %" PR_LU " bytes (%d, %u) to Clamd.", res, len, sizeof(len));
      |                          ^~~~~~~~~~~~~~~~~~
mod_clamav.c:248:81: note: format string is defined here
  248 |     pr_log_debug(DEBUG4, MOD_CLAMAV_VERSION ": Streaming %" PR_LU " bytes (%d, %u) to Clamd.", res, len, sizeof(len));
      |                                                                                ~^
      |                                                                                 |
      |                                                                                 unsigned int
      |                                                                                %lu
mod_clamav.c: In function 'set_clamav':
mod_clamav.c:662:7: error: 'bool' cannot be used here
  662 |   int bool = -1;
      |       ^~~~
mod_clamav.c:662:7: note: 'bool' is a keyword with '-std=c23' onwards
mod_clamav.c:662:12: error: expected identifier or '(' before '=' token
  662 |   int bool = -1;
      |            ^
mod_clamav.c:668:12: error: expected ')' before '=' token
  668 |   if ((bool = get_boolean(cmd,1)) == -1)
      |       ~    ^~
      |            )
mod_clamav.c:668:35: error: expected expression before '==' token
  668 |   if ((bool = get_boolean(cmd,1)) == -1)
      |                                   ^~
mod_clamav.c:673:37: error: expected expression before 'bool'
  673 |   *((unsigned char *) c->argv[0]) = bool;
      |                                     ^~~~
mod_clamav.c: In function 'set_clamstream':
mod_clamav.c:683:7: error: 'bool' cannot be used here
  683 |   int bool = -1;
      |       ^~~~
mod_clamav.c:683:7: note: 'bool' is a keyword with '-std=c23' onwards
mod_clamav.c:683:12: error: expected identifier or '(' before '=' token
  683 |   int bool = -1;
      |            ^
mod_clamav.c:689:12: error: expected ')' before '=' token
  689 |   if ((bool = get_boolean(cmd,1)) == -1)
      |       ~    ^~
      |            )
mod_clamav.c:689:35: error: expected expression before '==' token
  689 |   if ((bool = get_boolean(cmd,1)) == -1)
      |                                   ^~
mod_clamav.c:694:37: error: expected expression before 'bool'
  694 |   *((unsigned char *) c->argv[0]) = bool;
      |                                     ^~~~
mod_clamav.c: In function 'set_clamfailsafe':
mod_clamav.c:704:7: error: 'bool' cannot be used here
  704 |   int bool = -1;
      |       ^~~~
mod_clamav.c:704:7: note: 'bool' is a keyword with '-std=c23' onwards
mod_clamav.c:704:12: error: expected identifier or '(' before '=' token
  704 |   int bool = -1;
      |            ^
mod_clamav.c:710:12: error: expected ')' before '=' token
  710 |   if ((bool = get_boolean(cmd, 1)) == -1)
      |       ~    ^~
      |            )
mod_clamav.c:710:36: error: expected expression before '==' token
  710 |   if ((bool = get_boolean(cmd, 1)) == -1)
      |                                    ^~
mod_clamav.c:715:37: error: expected expression before 'bool'
  715 |   *((unsigned char *) c->argv[0]) = bool;
      |                                     ^~~~
prxs: error executing command (1)
make[1]: *** [debian/rules:13: override_dh_auto_build] Error 1
make[1]: Leaving directory '/build/reproducible-path/proftpd-mod-clamav-0.14~rc2'
make: *** [debian/rules:10: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-proftpd-maintainers mailing list