#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-10-10 03:07:02 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

#1128757#12
Date:
2026-08-10 12:44:53 UTC
From:
To:
control: severity 1127629 serious
control: severity 1128547 serious
control: severity 1128734 serious
control: severity 1128740 serious
control: severity 1128528 serious
control: severity 1128532 serious
control: severity 1128534 serious
control: severity 1128541 serious
control: severity 1128544 serious
control: severity 1128545 serious
control: severity 1128548 serious
control: severity 1128549 serious
control: severity 1128551 serious
control: severity 1128615 serious
control: severity 1128678 serious
control: severity 1128680 serious
control: severity 1128681 serious
control: severity 1128697 serious
control: severity 1128736 serious
control: severity 1128737 serious
control: severity 1128738 serious
control: severity 1128741 serious
control: severity 1128742 serious
control: severity 1128743 serious
control: severity 1128750 serious
control: severity 1128757 serious
control: severity 1128761 serious
control: severity 1128763 serious
control: severity 1128764 serious
control: severity 1128875 serious
control: severity 1128952 serious
control: severity 1128542 serious
control: severity 1128679 serious
control: severity 1128682 serious
control: severity 1128744 serious
control: severity 1128748 serious
control: severity 1128867 serious

Hi,

With the upload of glibc 2.43 to unstable, the packages now FTBFS in
unstable, hence upgrading the severity to serious.

Note that as a quick workaround, it is possible to roll back to C/C++17
standard using -std=c17, -std=gnu17, std=c++17 or std=gnu++17. This was
the default up to GCC 14, and GCC 15 changed it to C/C23.

Regards
Aurelien

#1128757#17
Date:
2026-08-16 07:04:57 UTC
From:
To:
Control: tags -1 fixed-upstream

This was fixed upstream as per
https://sourceforge.net/p/tuxpaint/tuxpaint/ci/6271edececef2a3720e5a5b4e245407cf909f034/
| Make short_lang_prefix non-const
|
| - Glibc-2.43 does not allow assigning
| to const char pointer anymore, requiring to make
| short_lang_prefix non-const
| - See: https://bugs.gentoo.org/969855
so now tagging accordingly.

HTH,
Flo

#1128757#26
Date:
2026-10-08 09:43:31 UTC
From:
To:
Dear maintainer,

I've prepared an NMU for tuxpaint (versioned as 1:0.9.35-1.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I should
cancel it.

cu
Adrian

#1128757#33
Date:
2026-10-10 03:05:26 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
tuxpaint, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1128757@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Adrian Bunk <bunk@debian.org> (supplier of updated tuxpaint package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 07 Oct 2026 16:08:02 +0300
Source: tuxpaint
Architecture: source
Version: 1:0.9.35-1.1
Distribution: unstable
Urgency: medium
Maintainer: Jonathan Carter <jcc@debian.org>
Changed-By: Adrian Bunk <bunk@debian.org>
Closes: 1128757
Changes:
 tuxpaint (1:0.9.35-1.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Backport upstream fix for FTBFS with glibc 2.43,
     thanks to Florian Ernst. (Closes: #1128757)
Checksums-Sha1:
 b551180f8d6aed4018aefc08fb21b7fc74ba5691 2406 tuxpaint_0.9.35-1.1.dsc
 4946cdb055d114bf6ec184d455687ca3d98046b7 12884 tuxpaint_0.9.35-1.1.debian.tar.xz
Checksums-Sha256:
 d6a1f35b733ea6794fe1b0240c36fdff9d77e569e0b7e644d1cb07dbf61a402f 2406 tuxpaint_0.9.35-1.1.dsc
 5621b2cd62cd618b374afe376de6898e63f5112a90ca165242c8f2665d611f81 12884 tuxpaint_0.9.35-1.1.debian.tar.xz
Files:
 05f1f01b8b35e44de5aa1ca309e30274 2406 graphics optional tuxpaint_0.9.35-1.1.dsc
 894aeb29f3882221738c29c2b1b6a283 12884 graphics optional tuxpaint_0.9.35-1.1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEOvp1f6xuoR0v9F3wiNJCh6LYmLEFAmrHAVgACgkQiNJCh6LY
mLFUFw/+JcbUWOIsdlovNAKVX9/VfsCJfvsPz24okMhybaFipk4685zigF6U1uxL
Cce62r8q2zby27WKTl7k3NTJbdLJjAyr5pgkieCO3V+9PtHEJKkB+oyzFi+QoHrD
b2XZE8x1jWy24oxb/xed3LTehikYIhWC+MPnpzHR64MjovvU8RtZiNgnv/DQPgBx
Y4nVbwgu0X5CyDCtCASXMxEOitAT2h6KFg4xo4LLYNo0BGZwXf5J1209LP75uADy
i9lUidvVfSyruRgxdZ9F2Xwhh78M5sDAcgC7bEeQSDkfID3hOWkDz5IRGwWmtxbs
djb5+wTtnB9Qbczh4T0w0aljqBwqjd+KrfEh+E1CE8u6qknf3BvRnAy0GOlOyQoG
diyv3wvfeFnWffg9d+5YM4VkpNyTHyC+/d6YIxc/InX3K8ALn+EDBqJG6e0MbQnO
aq87Hz6UbesTo5kFPx1Gbq9iFgjNZoDMOTd536+8+ZM7UJAxzvcWGujOZnDJahH4
VK5PN8dcRulPhSXnHR5tRIAoRYuic69GKfi70xxjHkuy0rZFWhe9Ajg6aVU01EdL
37n9rjpOwmzdsOhHFZB/MYp+hzU4zO8oQlPbefMQyYXlEG69JlRYYh0MSfU/A/dz
fIMbQkMJFQV7X4+0DB82BHe9qgW14ePf7498U63oaw/7Pb7XwbA=
=aCGT
-----END PGP SIGNATURE-----