Bug#1074946: fastforward: ftbfs with GCC-14
Package: src:fastforward
Version: 1:0.51-9
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/fastforward_0.51-9_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
[...]
chmod 755 make-load
chmod 755 find-systype
chmod 755 make-compile
chmod 755 make-makelib
./find-systype > systype
( cat warn-auto.sh; ./make-load "`cat systype`" ) > load
( cat warn-auto.sh; ./make-compile "`cat systype`" ) > \
compile
( cat warn-auto.sh; ./make-makelib "`cat systype`" ) > \
makelib
chmod 755 compile
chmod 755 load
chmod 755 makelib
./compile slurpclose.c
./compile coe.c
./compile auto-str.c
./compile substdio.c
./compile substdi.c
./compile substdo.c
./compile subfderr.c
./compile subfdouts.c
In file included from auto-str.c:1:
substdio.h:12:64: error: initialization of ‘int (*)()’ from incompatible pointer type ‘ssize_t (*)(int, const void *, size_t)’ {aka ‘long int (*)(int, const void *, long unsigned int)’} [-Wincompatible-pointer-types]
12 | #define SUBSTDIO_FDBUF(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
| ^
auto-str.c:6:16: note: in expansion of macro ‘SUBSTDIO_FDBUF’
6 | substdio ss1 = SUBSTDIO_FDBUF(write,1,buf1,sizeof(buf1));
| ^~~~~~~~~~~~~~
substdio.h:12:64: note: (near initialization for ‘ss1.op’)
12 | #define SUBSTDIO_FDBUF(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
| ^
auto-str.c:6:16: note: in expansion of macro ‘SUBSTDIO_FDBUF’
6 | substdio ss1 = SUBSTDIO_FDBUF(write,1,buf1,sizeof(buf1));
| ^~~~~~~~~~~~~~
In file included from subfderr.c:2:
substdio.h:12:64: error: initialization of ‘int (*)()’ from incompatible pointer type ‘ssize_t (*)(int, const void *, size_t)’ {aka ‘long int (*)(int, const void *, long unsigned int)’} [-Wincompatible-pointer-types]
12 | #define SUBSTDIO_FDBUF(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
| ^
subfderr.c:6:22: note: in expansion of macro ‘SUBSTDIO_FDBUF’
6 | static substdio it = SUBSTDIO_FDBUF(write,2,subfd_errbuf,256);
| ^~~~~~~~~~~~~~
In file included from subfdouts.c:2:
substdio.h:12:64: error: initialization of ‘int (*)()’ from incompatible pointer type ‘ssize_t (*)(int, const void *, size_t)’ {aka ‘long int (*)(int, const void *, long unsigned int)’} [-Wincompatible-pointer-types]
12 | #define SUBSTDIO_FDBUF(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
| ^
subfdouts.c:6:22: note: in expansion of macro ‘SUBSTDIO_FDBUF’
6 | static substdio it = SUBSTDIO_FDBUF(write,1,subfd_outbufsmall,256);
| ^~~~~~~~~~~~~~
substdio.h:12:64: note: (near initialization for ‘it.op’)
12 | #define SUBSTDIO_FDBUF(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
| ^
subfdouts.c:6:22: note: in expansion of macro ‘SUBSTDIO_FDBUF’
6 | static substdio it = SUBSTDIO_FDBUF(write,1,subfd_outbufsmall,256);
| ^~~~~~~~~~~~~~
substdio.h:12:64: note: (near initialization for ‘it.op’)
12 | #define SUBSTDIO_FDBUF(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
| ^
subfderr.c:6:22: note: in expansion of macro ‘SUBSTDIO_FDBUF’
6 | static substdio it = SUBSTDIO_FDBUF(write,2,subfd_errbuf,256);
| ^~~~~~~~~~~~~~
./compile subfdins.c
./compile substdio_copy.c
make[1]: *** [Makefile:32: auto-str.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:543: subfdouts.o] Error 1
make[1]: *** [Makefile:535: subfderr.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: