Dear maintainer(s), ifhp fails to build from source with glibc 2.43, currently in experimental. From the build log: | aarch64-linux-gnu-gcc -g -W -Wall -Werror -Wno-unused -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/ifhp-3.5.20+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wno-unused-parameter -Wno-implicit-fallthrough -g -W -Wall -Werror -Wno-unused -DHAVE_CONFIG_H -I. -I.. -I. -DIFHP_CONF=\"/etc/ifhp.conf\" -DLOCALEDIR=\"/usr/share/locale\" -c -o safestrutil.o safestrutil.c | safestrutil.c: In function ‘safestrchr’: | safestrutil.c:83:26: error: return discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] | 83 | if( s1 ) return( strchr( s1, c ) ); | | ^~~~~~ | safestrutil.c: In function ‘safestrrchr’: | safestrutil.c:91:26: error: return discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] | 91 | if( s1 ) return( strrchr( s1, c ) ); | | ^~~~~~~ | safestrutil.c: In function ‘safestrpbrk’: | safestrutil.c:99:32: error: return discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] | 99 | if( s1 && s2 ) return( strpbrk( s1, s2 ) ); | | ^~~~~~~ | safestrutil.c: In function ‘safestrstr’: | safestrutil.c:107:32: error: return discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] | 107 | if( s1 && s2 ) return( strstr( s1, s2 ) ); | | ^~~~~~ | cc1: all warnings being treated as errors | make[2]: *** [<builtin>: safestrutil.o] Error 1 | make[2]: Leaving directory '/build/reproducible-path/ifhp-3.5.20+dfsg/src' | make[1]: *** [Makefile:52: src] Error 2 | make[1]: Leaving directory '/build/reproducible-path/ifhp-3.5.20+dfsg' | make: *** [debian/rules:37: build-stamp] 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 archive rebuild on a fast arm64 server. Regards Aurelien [1] https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/ifhp_arm64.build [2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19
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
Hi, The attached patch fixes the build with glibc 2.43: strchr, strrchr, strpbrk and strstr now return const char * when passed a const char *, so src/safestrutil.c needs explicit casts in the wrappers declared to return char *. It keeps the existing API. Tested in Ubuntu with glibc 2.44 (amd64), where the package builds again with it. Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/ifhp/+bug/2170781 Thanks, Sebastien Bacher
We believe that the bug you reported is fixed in the latest version of
ifhp, 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 1128549@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Jeremy Bícha <jbicha@ubuntu.com> (supplier of updated ifhp 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, 14 Oct 2026 18:06:31 +0200
Source: ifhp
Built-For-Profiles: derivative.ubuntu noudeb
Architecture: source
Version: 3.5.20+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Printing Team <debian-printing@lists.debian.org>
Changed-By: Jeremy Bícha <jbicha@ubuntu.com>
Closes: 1128549 1150877
Launchpad-Bugs-Fixed: 2170781
Changes:
ifhp (3.5.20+dfsg-2) unstable; urgency=medium
.
* Team upload
.
[ Sebastien Bacher ]
* Add patch to fix build with glibc 2.43 (Closes: #1128549) (LP: #2170781)
* Quote LDFLAGS in debian/rules to fix Ubuntu's amd64v3 build
(Closes: #1150877)
Checksums-Sha1:
2350fa5d62fa6c0e2f0dd1f93ae05b2bfbbbb343 1930 ifhp_3.5.20+dfsg-2.dsc
90efec4c6f2d5c0823e89becd6ddb4a610a5555f 93892 ifhp_3.5.20+dfsg-2.debian.tar.xz
a2998c940c1e6b0f64b48fb2341dc1433ae7e579 14127 ifhp_3.5.20+dfsg-2_source.buildinfo
Checksums-Sha256:
63e950a2b07b25127dde774a63e83163d173d09a487eb518e195c72d5e9e8848 1930 ifhp_3.5.20+dfsg-2.dsc
f984a93b94a03d7c0c79eee6a3806da5629a48f444aacdf44884c6c534deba1a 93892 ifhp_3.5.20+dfsg-2.debian.tar.xz
d87654d3632a2d0103eb68563ee1b54f5d94894d3b32e6025ab8e30af503ba15 14127 ifhp_3.5.20+dfsg-2_source.buildinfo
Files:
a062e5d46f2615e9047e484aa2509e05 1930 net optional ifhp_3.5.20+dfsg-2.dsc
43d884d1e97bf6bbd5aeea0ac9e98cc9 93892 net optional ifhp_3.5.20+dfsg-2.debian.tar.xz
3ac802b7b7f9a4c5766e416f413058da 14127 net optional ifhp_3.5.20+dfsg-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEETQvhLw5HdtiqzpaW5mx3Wuv+bH0FAmrPqLsACgkQ5mx3Wuv+
bH018BAAyv8F6i3q/upwOG7nKMByv5qeQG8Vc7QNz6ecqOv9KecezjCBJ5AtMVMc
YXoljRiBLbR0/RVaKKtSVpZ0PgPdtBWiuAhjk9kdiniXsnEq1ETJicDrjrECMu8Y
VdaTb/8lnl89rgrsgUWPCg1Rn6UoIPqYJOylltoqt2lbNpbHA99ev/0UwVbBQwft
cDABCGLfVAQImsIRTDZaUFi8+KeGxQZD2Bk+Xv9xQio3IuEiNbbb0HBUcMTd8wmy
g0uMvrWiL8JZ/xTQMrZHqbNo85N7GMgnq+7gBFmh2b/FfNnjdX6pRers4k4wmHFm
CiSX1JJdyFoF991hEhq397ViWaioMLz1ATvw3/Y8v0zdcMHqYxkjEjmwqfxXs1s4
yz8LmLK0j/0A4qTowZUdfIyFjG/saiB7a03RVdiOOJoVJzmz37CqMh0Nn6ceTsZW
6IPn0zGvoxHXEG1NGjxF8vlrtHSJMGnN8UaN19uxQfXEibgeq2lNCZiWGGjktLkl
jgjEWG+bTL2YCxH0IJOmvS09qGcNoshxOlm3dHHy0HE5OGRrVlyNovbOHLpgmV2J
70k99Fq5qrg5bKb4AO62sZplfT9/j2X2cFft25LbBrRZGzzSVBFKbeIO0Psu8vsZ
v1GRf7B0TD5wpX0jS2iz9LQJx+PsLw+1sURudlz1ZeglUWrKPpU=
=XNnT
-----END PGP SIGNATURE-----