Bug#1096648: freecdb: ftbfs with GCC-15
Package: src:freecdb
Version: 0.78
Severity: important
Tags: sid forky
User: debian-gcc@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/freecdb_0.78_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
[...]
buffer_get.c:22:3: error: too many arguments to function ‘byte_copy’; expected 0, have 3
22 | byte_copy(buf,len,s->x + s->n);
| ^~~~~~~~~ ~~~
In file included from buffer_get.c:4:
byte.h:8:13: note: declared here
8 | extern void byte_copy();
| ^~~~~~~~~
buffer_get.c: In function ‘buffer_feed’:
buffer_0.c: In function ‘buffer_0_read’:
buffer_get.c:36:17: error: too many arguments to function ‘byte_copyr’; expected 0, have 3
36 | if (s->n > 0) byte_copyr(s->x + s->n,r,s->x);
| ^~~~~~~~~~ ~~~~~~~~~~~
byte.h:9:13: note: declared here
9 | extern void byte_copyr();
| ^~~~~~~~~~
buffer_0.c:5:9: warning: old-style function definition [-Wold-style-definition]
5 | ssize_t buffer_0_read(fd,buf,len) int fd; char *buf; size_t len;
| ^~~~~~~~~~~~~
make[2]: *** [<builtin>: buffer_get.o] Error 1
make[2]: *** Waiting for unfinished jobs....
alloc.c: In function ‘alloc’:
alloc.c:15:26: warning: old-style function definition [-Wold-style-definition]
15 | /*@null@*//*@out@*/char *alloc(n)
| ^~~~~
alloc.c:17:1: error: number of arguments doesn’t match prototype
17 | {
| ^
In file included from alloc.c:4:
alloc.h:6:33: error: prototype declaration
6 | extern /*@null@*//*@out@*/char *alloc();
| ^~~~~
alloc.c: In function ‘alloc_free’:
alloc.c:26:6: warning: old-style function definition [-Wold-style-definition]
26 | void alloc_free(x)
| ^~~~~~~~~~
alloc.c:28:1: error: number of arguments doesn’t match prototype
28 | {
| ^
alloc.h:7:13: error: prototype declaration
7 | extern void alloc_free();
| ^~~~~~~~~~
make[2]: *** [<builtin>: alloc.o] Error 1
buffer_put.c: In function ‘buffer_putalign’:
buffer_put.c:40:5: error: too many arguments to function ‘byte_copy’; expected 0, have 3
40 | byte_copy(s->x + s->p,n,buf); s->p += n; buf += n; len -= n;
| ^~~~~~~~~ ~~~~~~~~~~~
In file included from buffer_put.c:5:
byte.h:8:13: note: declared here
8 | extern void byte_copy();
| ^~~~~~~~~
buffer_put.c:44:3: error: too many arguments to function ‘byte_copy’; expected 0, have 3
44 | byte_copy(s->x + s->p,len,buf);
| ^~~~~~~~~ ~~~~~~~~~~~
byte.h:8:13: note: declared here
8 | extern void byte_copy();
| ^~~~~~~~~
buffer_put.c: In function ‘buffer_put’:
buffer_put.c:66:3: error: too many arguments to function ‘byte_copy’; expected 0, have 3
66 | byte_copy(s->x + s->p,len,buf);
| ^~~~~~~~~ ~~~~~~~~~~~
byte.h:8:13: note: declared here
8 | extern void byte_copy();
| ^~~~~~~~~
make[2]: *** [<builtin>: buffer_put.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/freecdb-0.78'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" "CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/freecdb-0.78=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall" returned exit code 2
make[1]: *** [debian/rules:7: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/freecdb-0.78'
make: *** [debian/rules:4: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: