#1098085 wdisplays: ftbfs with GCC-15

#1098085#5
Date:
2025-02-17 18:00:00 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/wdisplays_1.1.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

[...]
[15/31] /usr/bin/wayland-scanner client-header ../protocol/wlr-layer-shell-unstable-v1.xml src/wdisplays.p/wlr-layer-shell-unstable-v1-client-protocol.h
[16/31] /usr/bin/wayland-scanner client-header //usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml src/wdisplays.p/xdg-shell-client-protocol.h
[17/31] /usr/bin/wayland-scanner client-header ../protocol/wlr-output-management-unstable-v1.xml src/wdisplays.p/wlr-output-management-unstable-v1-client-protocol.h
[18/31] cc -Iprotocol/libclient_protos.a.p -Iprotocol -I../protocol -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ protocol/libclient_protos.a.p/meson-generated_xdg-output-unstable-v1-protocol.c.o -MF protocol/libclient_protos.a.p/meson-generated_xdg-output-unstable-v1-protocol.c.o.d -o protocol/libclient_protos.a.p/meson-generated_xdg-output-unstable-v1-protocol.c.o -c protocol/libclient_protos.a.p/xdg-output-unstable-v1-protocol.c
[19/31] cc -Iprotocol/libclient_protos.a.p -Iprotocol -I../protocol -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ protocol/libclient_protos.a.p/meson-generated_wlr-screencopy-unstable-v1-protocol.c.o -MF protocol/libclient_protos.a.p/meson-generated_wlr-screencopy-unstable-v1-protocol.c.o.d -o protocol/libclient_protos.a.p/meson-generated_wlr-screencopy-unstable-v1-protocol.c.o -c protocol/libclient_protos.a.p/wlr-screencopy-unstable-v1-protocol.c
[20/31] cc -Iprotocol/libclient_protos.a.p -Iprotocol -I../protocol -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ protocol/libclient_protos.a.p/meson-generated_wlr-layer-shell-unstable-v1-protocol.c.o -MF protocol/libclient_protos.a.p/meson-generated_wlr-layer-shell-unstable-v1-protocol.c.o.d -o protocol/libclient_protos.a.p/meson-generated_wlr-layer-shell-unstable-v1-protocol.c.o -c protocol/libclient_protos.a.p/wlr-layer-shell-unstable-v1-protocol.c
[21/31] cc -Iprotocol/libclient_protos.a.p -Iprotocol -I../protocol -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ protocol/libclient_protos.a.p/meson-generated_wlr-output-management-unstable-v1-protocol.c.o -MF protocol/libclient_protos.a.p/meson-generated_wlr-output-management-unstable-v1-protocol.c.o.d -o protocol/libclient_protos.a.p/meson-generated_wlr-output-management-unstable-v1-protocol.c.o -c protocol/libclient_protos.a.p/wlr-output-management-unstable-v1-protocol.c
[22/31] cc -Iprotocol/libclient_protos.a.p -Iprotocol -I../protocol -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ protocol/libclient_protos.a.p/meson-generated_xdg-shell-protocol.c.o -MF protocol/libclient_protos.a.p/meson-generated_xdg-shell-protocol.c.o.d -o protocol/libclient_protos.a.p/meson-generated_xdg-shell-protocol.c.o -c protocol/libclient_protos.a.p/xdg-shell-protocol.c
[23/31] rm -f protocol/libclient_protos.a && gcc-ar csrDT protocol/libclient_protos.a protocol/libclient_protos.a.p/meson-generated_xdg-output-unstable-v1-protocol.c.o protocol/libclient_protos.a.p/meson-generated_xdg-shell-protocol.c.o protocol/libclient_protos.a.p/meson-generated_wlr-output-management-unstable-v1-protocol.c.o protocol/libclient_protos.a.p/meson-generated_wlr-screencopy-unstable-v1-protocol.c.o protocol/libclient_protos.a.p/meson-generated_wlr-layer-shell-unstable-v1-protocol.c.o
[24/31] cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/meson-generated_.._.._resources_wdisplays-resources.c.o -MF src/wdisplays.p/meson-generated_.._.._resources_wdisplays-resources.c.o.d -o src/wdisplays.p/meson-generated_.._.._resources_wdisplays-resources.c.o -c resources/wdisplays-resources.c
[25/31] cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/glviewport.c.o -MF src/wdisplays.p/glviewport.c.o.d -o src/wdisplays.p/glviewport.c.o -c ../src/glviewport.c
[26/31] cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/outputs.c.o -MF src/wdisplays.p/outputs.c.o.d -o src/wdisplays.p/outputs.c.o -c ../src/outputs.c
FAILED: src/wdisplays.p/outputs.c.o
cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/outputs.c.o -MF src/wdisplays.p/outputs.c.o.d -o src/wdisplays.p/outputs.c.o -c ../src/outputs.c
../src/outputs.c:529:15: error: initialization of ‘void (*)(void *, struct zwlr_output_manager_v1 *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  529 |   .finished = noop,
      |               ^~~~
../src/outputs.c:529:15: note: (near initialization for ‘output_manager_listener.finished’)
../src/outputs.c:31:13: note: ‘noop’ declared here
   31 | static void noop() {
      |             ^~~~
../src/outputs.c:556:20: error: initialization of ‘void (*)(void *, struct wl_registry *, uint32_t)’ {aka ‘void (*)(void *, struct wl_registry *, unsigned int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  556 |   .global_remove = noop,
      |                    ^~~~
../src/outputs.c:556:20: note: (near initialization for ‘registry_listener.global_remove’)
../src/outputs.c:31:13: note: ‘noop’ declared here
   31 | static void noop() {
      |             ^~~~
../src/outputs.c:606:19: error: initialization of ‘void (*)(void *, struct zxdg_output_v1 *, int32_t,  int32_t)’ {aka ‘void (*)(void *, struct zxdg_output_v1 *, int,  int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  606 |   .logical_size = noop,
      |                   ^~~~
../src/outputs.c:606:19: note: (near initialization for ‘output_listener.logical_size’)
../src/outputs.c:31:13: note: ‘noop’ declared here
   31 | static void noop() {
      |             ^~~~
../src/outputs.c:607:11: error: initialization of ‘void (*)(void *, struct zxdg_output_v1 *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  607 |   .done = noop,
      |           ^~~~
../src/outputs.c:607:11: note: (near initialization for ‘output_listener.done’)
../src/outputs.c:31:13: note: ‘noop’ declared here
   31 | static void noop() {
      |             ^~~~
../src/outputs.c:609:18: error: initialization of ‘void (*)(void *, struct zxdg_output_v1 *, const char *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
  609 |   .description = noop
      |                  ^~~~
../src/outputs.c:609:18: note: (near initialization for ‘output_listener.description’)
../src/outputs.c:31:13: note: ‘noop’ declared here
   31 | static void noop() {
      |             ^~~~
[27/31] cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/overlay.c.o -MF src/wdisplays.p/overlay.c.o.d -o src/wdisplays.p/overlay.c.o -c ../src/overlay.c
[28/31] cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/render.c.o -MF src/wdisplays.p/render.c.o.d -o src/wdisplays.p/render.c.o -c ../src/render.c
[29/31] cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/headform.c.o -MF src/wdisplays.p/headform.c.o.d -o src/wdisplays.p/headform.c.o -c ../src/headform.c
[30/31] cc -Isrc/wdisplays.p -Isrc -I../src -Iresources -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/wdisplays-1.1.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/wdisplays.p/main.c.o -MF src/wdisplays.p/main.c.o.d -o src/wdisplays.p/main.c.o -c ../src/main.c
../src/main.c: In function ‘main’:
../src/main.c:1086:3: warning: ‘G_APPLICATION_FLAGS_NONE’ is deprecated: Use 'G_APPLICATION_DEFAULT_FLAGS' instead [-Wdeprecated-declarations]
 1086 |   GtkApplication *app = gtk_application_new(WDISPLAYS_APP_ID, G_APPLICATION_FLAGS_NONE);
      |   ^~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from /usr/include/gtk-3.0/gtk/gtk.h:30,
                 from ../src/main.c:4:
/usr/include/glib-2.0/gio/gioenums.h:1556:3: note: declared here
 1556 |   G_APPLICATION_FLAGS_NONE GIO_DEPRECATED_ENUMERATOR_IN_2_74_FOR(G_APPLICATION_DEFAULT_FLAGS),
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j8 -v returned exit code 1
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2