#1128757 tuxpaint: FTBFS with glibc 2.43 due to ISO C23 const return types

Package:
src:tuxpaint
Source:
src:tuxpaint
Submitter:
Aurelien Jarno
Date:
2026-02-22 16:19:11 UTC
Severity:
normal
Tags:
#1128757#5
Date:
2026-02-22 16:18:32 UTC
From:
To:
Dear maintainer(s),

tuxpaint fails to build from source with glibc 2.43, currently in
experimental. From the build log:

| src/i18n.c: In function ‘set_current_language’:
| src/i18n.c:1239:37: error: assignment of read-only location ‘*(const char *)strchr(short_lang_prefix, 95)’
|  1239 |     *strchr(short_lang_prefix, '_') = '\0';
|       |                                     ^
| msgfmt -o trans/ach.mo src/po/ach.po
| msgfmt -o trans/af.mo src/po/af.po
| msgfmt -o trans/ak.mo src/po/ak.po
| make[1]: *** [Makefile:1320: obj/i18n.o] Error 1
| make[1]: *** Waiting for unfinished jobs....
| msgfmt -o trans/am.mo src/po/am.po
| msgfmt -o trans/an.mo src/po/an.po
| In file included from src/fill.c:43:
| src/rgblinear.h:82:3: warning: initializer-string for array of ‘unsigned char’ truncates NUL terminator but destination lacks ‘nonstring’ attribute (4097 chars into 4096 available) [-Wunterminated-string-initialization]
|    82 |   "\x00\x01\x02\x03\x03\x04\x05\x06\x07\x08\x08\x09\x0a\x0b\x0b\x0c\x0d\x0d"
|       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| make[1]: Leaving directory '/build/reproducible-path/tuxpaint-0.9.35'
| dh_auto_build: error: make -j128 INSTALL="install --strip-program=true" all PREFIX=/usr DEBUG_FLAGS=-g VER_DATE=2025-08-12 returned exit code 2
| make: *** [debian/rules:39: build-arch-stamp] Error 25
| 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 archive rebuild on
a fast arm64 server.

Regards
Aurelien

[1] https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/tuxpaint_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19