#1098074 vrfy: ftbfs with GCC-15

Package:
src:vrfy
Source:
src:vrfy
Submitter:
Matthias Klose
Date:
2025-09-04 22:11:29 UTC
Severity:
normal
Tags:
#1098074#5
Date:
2025-02-17 17:59:36 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/vrfy_990522-11_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

[...]
      |                 ^~~~~~~~ ~~~~
defs.h:51:5: note: declared here
   51 | int smtpinit            PROTO((char *));
      |     ^~~~~~~~
main.c:1585:25: error: too many arguments to function ‘smtphelo’; expected 0, have 2
 1585 |                 reply = smtphelo(MyHostName, ehlomode);
      |                         ^~~~~~~~ ~~~~~~~~~~
defs.h:52:5: note: declared here
   52 | int smtphelo            PROTO((char *, bool));
      |     ^~~~~~~~
main.c: In function ‘getmxhosts’:
main.c:1603:1: warning: old-style function definition [-Wold-style-definition]
 1603 | getmxhosts(domain)
      | ^~~~~~~~~~
main.c:1605:1: error: number of arguments doesn’t match prototype
 1605 | {
      | ^
defs.h:34:5: error: prototype declaration
   34 | int getmxhosts          PROTO((char *));
      |     ^~~~~~~~~~
main.c:1612:15: error: too many arguments to function ‘rindex’; expected 0, have 2
 1612 |         dot = rindex(domain, '.');
      |               ^~~~~~ ~~~~~~
defs.h:116:7: note: declared here
  116 | char *rindex            PROTO((const char *, int));
      |       ^~~~~~
main.c:1635:15: error: too many arguments to function ‘getmxbyname’; expected 0, have 1
 1635 |         nmx = getmxbyname(domain);
      |               ^~~~~~~~~~~ ~~~~~~
defs.h:86:5: note: declared here
   86 | int getmxbyname         PROTO((char *));
      |     ^~~~~~~~~~~
main.c:1645:15: error: too many arguments to function ‘rindex’; expected 0, have 2
 1645 |         dot = rindex(domain, '.');
      |               ^~~~~~ ~~~~~~
defs.h:116:7: note: declared here
  116 | char *rindex            PROTO((const char *, int));
      |       ^~~~~~
main.c: In function ‘setsender’:
main.c:1669:1: warning: old-style function definition [-Wold-style-definition]
 1669 | setsender(address)
      | ^~~~~~~~~
main.c:1671:1: error: number of arguments doesn’t match prototype
 1671 | {
      | ^
defs.h:35:7: error: prototype declaration
   35 | char *setsender         PROTO((char *));
      |       ^~~~~~~~~
main.c:1680:19: error: too many arguments to function ‘parselist’; expected 0, have 1
 1680 |         address = parselist(address);
      |                   ^~~~~~~~~ ~~~~~~~
defs.h:39:7: note: declared here
   39 | char *parselist         PROTO((char *));
      |       ^~~~~~~~~
main.c:1685:18: error: too many arguments to function ‘parsespec’; expected 0, have 3
 1685 |         domain = parsespec(address, addrbuf, (char *)NULL);
      |                  ^~~~~~~~~ ~~~~~~~
defs.h:40:7: note: declared here
   40 | char *parsespec         PROTO((char *, char *, char *));
      |       ^~~~~~~~~
main.c: At top level:
main.c:39:13: warning: ‘Version’ defined but not used [-Wunused-variable]
   39 | static char Version[] = "@(#)vrfy.c     e07@nikhef.nl (Eric Wassenaar) 980820";
      |             ^~~~~~~
make[2]: *** [<builtin>: main.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/vrfy-990522'
make[1]: *** [debian/rules:7: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/vrfy-990522'
make: *** [debian/rules:16: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2