Bug#1075083: ident2: ftbfs with GCC-14
Package: src:ident2
Version: 1.07-3
Severity: important
Tags: sid trixie
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-14
[This bug is 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.
The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/ident2_1.07-3_unstable_gccexp.log
The last lines of the build log are at the end of this report.
To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
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-14/porting_to.html
[...]
| int *
/usr/include/x86_64-linux-gnu/sys/socket.h:131:47: note: expected ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘int *’
131 | socklen_t *__restrict __len) __THROW;
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~
common.c: In function ‘_check_user_ident’:
common.c:150:25: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
150 | fgets (buf, 4095, fp);
| ^~~~~~~~~~~~~~~~~~~~~
common.c: In function ‘_clreply’:
common.c:111:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
111 | write (cl->sd, buf, strlen (buf));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
daemon.c: In function ‘declient’:
daemon.c:87:52: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness [-Wpointer-sign]
87 | close (accept (s, (struct sockaddr *)&sin, &ss));
| ^~~
| |
| int *
In file included from ident2.h:50,
from daemon.c:34:
/usr/include/x86_64-linux-gnu/sys/socket.h:307:42: note: expected ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘int *’
307 | socklen_t *__restrict __addr_len);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
daemon.c: In function ‘_accept_connect’:
daemon.c:100:57: error: passing argument 3 of ‘accept’ from incompatible pointer type [-Wincompatible-pointer-types]
100 | while ((cl = accept(sv, (struct sockaddr *)sin, &sl)) == -1) {
| ^~~
| |
| size_t * {aka long unsigned int *}
/usr/include/x86_64-linux-gnu/sys/socket.h:307:42: note: expected ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘size_t *’ {aka ‘long unsigned int *’}
307 | socklen_t *__restrict __addr_len);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
make[1]: *** [<builtin>: daemon.o] Error 1
make[1]: *** Waiting for unfinished jobs....
ident2.c: In function ‘inetd_child’:
ident2.c:55:54: warning: pointer targets in passing argument 3 of ‘getsockname’ differ in signedness [-Wpointer-sign]
55 | if (getsockname (0, (struct sockaddr *)&sin, (int *)&sinsize) == -1) {
| ^~~~~~~~~~~~~~~
| |
| int *
In file included from ident2.h:50,
from ident2.c:24:
/usr/include/x86_64-linux-gnu/sys/socket.h:117:47: note: expected ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘int *’
117 | socklen_t *__restrict __len) __THROW;
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~
common.c: In function ‘nexus’:
common.c:109:55: warning: ‘%s’ directive output may be truncated writing up to 128 bytes into a region of size between 102 and 110 [-Wformat-truncation=]
109 | snprintf (buf, ID_BUF_SIZE-1, "%d , %d : %s : %s\r\n",
| ^~
......
199 | _clreply (cl, "USERID", buf);
| ~~~
In file included from /usr/include/stdio.h:964,
from ident2.h:35:
In function ‘snprintf’,
inlined from ‘_clreply’ at common.c:109:2,
inlined from ‘_send_random_reply’ at common.c:199:2,
inlined from ‘_new_cl’ at common.c:241:3,
inlined from ‘nexus’ at common.c:283:12:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 20 and 156 bytes into a destination of size 127
54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: