Dear maintainer(s),
alsa-scarlett-gui fails to build from source with glibc 2.43, currently
in experimental. From the build log:
| cc -MT error.o -MMD -MP -MF .deps/error.d -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/alsa-scarlett-gui-0.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -DVERSION=\"0.5.1-1\" -Wno-error=deprecated-declarations -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glycin-2 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/graphene-1.0 -I/usr/lib/aarch64-linux-gnu/graphene-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -pthread -c -o error.o error.c
| alsa-sim.c: In function ‘sim_card_name’:
| alsa-sim.c:468:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 468 | char *name = strrchr(fn, '/');
| | ^~~~~~~
| cc -MT fcp-shared.o -MMD -MP -MF .deps/fcp-shared.d -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/alsa-scarlett-gui-0.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -DVERSION=\"0.5.1-1\" -Wno-error=deprecated-declarations -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glycin-2 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/graphene-1.0 -I/usr/lib/aarch64-linux-gnu/graphene-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -pthread -c -o fcp-shared.o fcp-shared.c
| cc1: all warnings being treated as errors
| make[2]: *** [Makefile:43: alsa-sim.o] Error 1
| make[2]: *** Waiting for unfinished jobs....
| error.c: In function ‘show_error’:
| error.c:12:3: warning: ‘gtk_message_dialog_new’ is deprecated [-Wdeprecated-declarations]
| 12 | GtkWidget *dialog = gtk_message_dialog_new(
| | ^~~~~~~~~
| In file included from /usr/include/gtk-4.0/gtk/gtk.h:194,
| from error.h:6,
| from error.c:4:
| /usr/include/gtk-4.0/gtk/deprecated/gtkmessagedialog.h:81:12: note: declared here
| 81 | GtkWidget* gtk_message_dialog_new (GtkWindow *parent,
| | ^~~~~~~~~~~~~~~~~~~~~~
| rm alsa-scarlett-gui-resources.c
| make[2]: Leaving directory '/build/reproducible-path/alsa-scarlett-gui-0.5.1/src'
| dh_auto_build: error: cd src && make -j128 INSTALL="install --strip-program=true" VERSION=0.5.1-1 returned exit code 2
| make[1]: *** [debian/rules:15: override_dh_auto_build] Error 25
| make[1]: Leaving directory '/build/reproducible-path/alsa-scarlett-gui-0.5.1'
| make: *** [debian/rules:12: binary] Error 2
| dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
The full build log is available here [1].
The issue is due to ISO C23 declaration of bsearch, memchr, strchr,
strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr,
which now returns a pointer to a const-qualified type when the input
argument is a pointer to a const-qualified type [2].
I would like to thanks Emanuele Rocca for doing the arcbhive rebuild on
a fast arm64 server.
Regards
Aurelien
[1] https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/alsa-scarlett-gui_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19