#1128544 fyi: FTBFS with glibc 2.43 due to ISO C23 const return types

Package:
src:fyi
Source:
src:fyi
Submitter:
Aurelien Jarno
Date:
2026-08-16 00:55:03 UTC
Severity:
normal
Tags:
#1128544#5
Date:
2026-02-20 22:44:47 UTC
From:
To:
Dear maintainer(s),

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

|    dh_auto_build
| 	cd obj-aarch64-linux-gnu && LC_ALL=C.UTF-8 ninja -j128 -v
| [1/4] /usr/bin/env LC_ALL=C ../generate-version.sh 1.0.4 ../ version.h
| [2/4] /usr/bin/meson --internal exe --capture doc/fyi.1 --feed ../doc/fyi.1.scd -- /usr/bin/scdoc
| [3/4] cc -Ifyi.p -I. -I.. -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c11 -fno-asynchronous-unwind-tables -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/fyi-1.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MQ fyi.p/main.c.o -MF fyi.p/main.c.o.d -o fyi.p/main.c.o -c ../main.c
| FAILED: [code=1] fyi.p/main.c.o
| cc -Ifyi.p -I. -I.. -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c11 -fno-asynchronous-unwind-tables -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/fyi-1.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MQ fyi.p/main.c.o -MF fyi.p/main.c.o.d -o fyi.p/main.c.o -c ../main.c
| ../main.c: In function ‘main’:
| ../main.c:558:27: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|   558 |             char *split = strchr(type_str, ':');
|       |                           ^~~~~~
| ../main.c:563:23: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|   563 |                 split = strchr(name, ':');
|       |                       ^
| cc1: all warnings being treated as errors
| ninja: build stopped: subcommand failed.
| dh_auto_build: error: cd obj-aarch64-linux-gnu && LC_ALL=C.UTF-8 ninja -j128 -v returned exit code 1
| make: *** [debian/rules:7: binary] 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/fyi_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19

#1128544#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

#1128544#17
Date:
2026-08-12 13:04:31 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
fyi, 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 1128544@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Birger Schacht <birger@debian.org> (supplier of updated fyi 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, 12 Aug 2026 14:18:23 +0200
Source: fyi
Architecture: source
Version: 1.0.4-2
Distribution: unstable
Urgency: medium
Maintainer: Birger Schacht <birger@debian.org>
Changed-By: Birger Schacht <birger@debian.org>
Closes: 1128544
Changes:
 fyi (1.0.4-2) unstable; urgency=medium
 .
   * Backport patch to fix compilation errors with glibc >= 2.43
     (Closes: #1128544)
   * Ship a debian/gbp.conf file to set the default-branch
   * debian/control:
    + Bump Standards-Version to 4.7.4 (no changes required)
    + Remove redundant Rules-Requires-Root and Priority fields
   * debian/watch: update to version 5 format
Checksums-Sha1:
 05c5c7c56dac41fd3e403a88f8b00517df377969 2059 fyi_1.0.4-2.dsc
 67a8bf7752e891fc44210938856865e4cbcb948d 4168 fyi_1.0.4-2.debian.tar.xz
 228b5c96eeb33e12a406e3ae644c7dbb31e3debc 25004 fyi_1.0.4-2.git.tar.xz
 ce7610a093cceb3601e834a9c51d1a186c32a502 17536 fyi_1.0.4-2_source.buildinfo
Checksums-Sha256:
 823bc6bbcbdeb39f5471f927dd45c531dec5c46ca55c0a44eb75f30e96e2035e 2059 fyi_1.0.4-2.dsc
 596586a0d82bdb0c95628450ee568e575748fba1b669213ce4fe4cab5f3a9f05 4168 fyi_1.0.4-2.debian.tar.xz
 4584797148fe04bb6b7ebb0f9cda2c0251f19b163601ae101739c2c619bdd72a 25004 fyi_1.0.4-2.git.tar.xz
 53d8279a6b8dc47f4f3c9251c8ee145aecc87285c7cd38a71d04460252ab9f6e 17536 fyi_1.0.4-2_source.buildinfo
Files:
 c5d67ea1d516ebd1d0ee77a385418762 2059 utils optional fyi_1.0.4-2.dsc
 9d850800926b96520d11e514028ca502 4168 utils optional fyi_1.0.4-2.debian.tar.xz
 8fe9e8a86b9f06629ebd58bc44b1572f 25004 utils None fyi_1.0.4-2.git.tar.xz
 f36617f1e3ea20c35f33a825c5ba0b74 17536 utils optional fyi_1.0.4-2_source.buildinfo
Git-Tag-Info: tag=a64185306fbd335c24d3fbc3ca485772c72e69db fp=3af0bcb67c26ac48ceb4e5bc2a0c5d60f204bdb0
Git-Tag-Tagger: Birger Schacht <birger@debian.org>
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmp8bKAACgkQYG0ITkaD
wHmo6Q/8CrGc0R3uAgPYeTPBRcUc7S8/S6UrcHnMzz1doSSaDqTrCxJCZlGUcXt5
vVHcdl1dHcOAGm9k2DHbVX2Y2GsqeiyDQfmdZdLLih2oyD3P8EpKMMGMImPF/uem
+0TlH0CE5BGEXFW5KCuNC4SdaGLsHOMGQ0HJ9Z8/P3FohoqSa28nbTDNwAWIn+mz
ry7Ih6JQ4WrzKdSBrHs/fR88YjFd+gONj+yQpkUeZIdAbDYft5M0jfHPQEgHoDjd
ZNf7HlncoHscLX1I3aQtJqOu2IK3Xn3FaXZsqsjsmHAs+25u3F1K7WjnHfMCBmoh
Vkr3abSwXfw9fcWt86JLIvNwAcOIGc8qbdtMUe4nlxxxpIB1MRAQL6a9ddQT4D7l
x8L1+c5CHd9nUGV8T2qDuEC3bs4aUFPnWwg2oJphCdGfuaeSN9jsDnU/CgZHR9/a
pfDFT09PNgJNHlMxqlt/d+5C7TgA3f+Vs4sI5Uerwf/jUajTkw+G4YSnocyIVW0c
mNaO8IP681Ri4SrToL1r2t1+bdmz86kyBuBowqMQNZizWutxQFOdK6S3wDogpYNk
+MKzfOYDT53LJ+qBhC8w3z4E4B+sB9H0m6AGVS0o2ZJ196mv9meikPqxCqe+yAaY
/ul76hcJ6lOV5tHc5K3t3vjLmC57tSyQ9d78uJy8anBCyRSJo4E=
=p0cL
-----END PGP SIGNATURE-----