#1128549 ifhp: FTBFS with glibc 2.43 due to ISO C23 const return types

Package:
src:ifhp
Source:
src:ifhp
Submitter:
Aurelien Jarno
Date:
2026-02-20 22:59:03 UTC
Severity:
normal
Tags:
#1128549#5
Date:
2026-02-20 22:57:58 UTC
From:
To:
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