Bug#1096570: elektroid: ftbfs with GCC-15
Package: src:elektroid
Version: 3.1-1
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/elektroid_3.1-1_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
[...]
checking for samplerate >= 0.1.8... yes
checking for alsa >= 1.1.3... yes
checking for alsa >= 1.1.3... yes
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C preprocessor... gcc -E
checking for egrep -e... (cached) /usr/bin/grep -E
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for unistd.h... (cached) yes
checking for limits.h... yes
checking for GNU libc compatible malloc... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating res/Makefile
config.status: creating test/Makefile
config.status: creating po/Makefile.in
config.status: creating po/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: executing libtool commands
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
dh_auto_build
make -j8
make[1]: Entering directory '/build/reproducible-path/elektroid-3.1'
make all-recursive
make[2]: Entering directory '/build/reproducible-path/elektroid-3.1'
Making all in src
make[3]: Entering directory '/build/reproducible-path/elektroid-3.1/src'
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-local.o `test -f 'local.c' || echo './'`local.c
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-connector.o `test -f 'connector.c' || echo './'`connector.c
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-preferences.o `test -f 'preferences.c' || echo './'`preferences.c
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-regconn.o `test -f 'regconn.c' || echo './'`regconn.c
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-regpref.o `test -f 'regpref.c' || echo './'`regpref.c
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-sample.o `test -f 'sample.c' || echo './'`sample.c
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-utils.o `test -f 'utils.c' || echo './'`utils.c
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -DDATADIR='"/usr/share/elektroid"' -DLOCALEDIR='"/usr/share/locale"' -Wdate-time -D_FORTIFY_SOURCE=2 -I../src `/usr/bin/pkg-config --cflags libpulse libpulse-mainloop-glib alsa glib-2.0 zlib json-glib-1.0 libzip gtk+-3.0` -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elektroid-3.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o elektroid-backend.o `test -f 'backend.c' || echo './'`backend.c
local.c:50:15: error: initialization of ‘GSList * (*)(struct backend *, const struct fs_operations *)’ {aka ‘struct _GSList * (*)(struct backend *, const struct fs_operations *)’} from incompatible pointer type ‘GSList * (*)(void)’ {aka ‘struct _GSList * (*)(void)’} [-Wincompatible-pointer-types]
50 | .get_exts = sample_get_sample_extensions,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
local.c:50:15: note: (near initialization for ‘FS_LOCAL_SAMPLE_OPERATIONS.get_exts’)
In file included from local.h:25,
from local.c:21:
sample.h:70:9: note: ‘sample_get_sample_extensions’ declared here
70 | GSList *sample_get_sample_extensions ();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:851: elektroid-local.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/elektroid-3.1/src'
make[2]: *** [Makefile:450: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/elektroid-3.1'
make[1]: *** [Makefile:382: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/elektroid-3.1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:13: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: