#1128551 innduct: FTBFS with glibc 2.43 due to ISO C23 const return types

Package:
src:innduct
Source:
src:innduct
Submitter:
Aurelien Jarno
Date:
2026-02-20 22:59:05 UTC
Severity:
normal
Tags:
#1128551#5
Date:
2026-02-20 22:58:05 UTC
From:
To:
Dear maintainer(s),

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

| gcc -DHAVE_CONFIG_H -I.  -I/usr/include/inn  -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wformat=2 -Wno-format-zero-length -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wredundant-decls -Wnested-externs -Wno-pointer-sign -Werror  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/innduct-2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o statemc.o statemc.c
| infile.c: In function ‘feedfile_got_article’:
| infile.c:124:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|   124 |   char *space= strchr(data,' ');
|       |                ^~~~~~
| duct.c: In function ‘parse_options’:
| duct.c:223:23: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|   223 |         char *equals= strchr(arg,'=');
|       |                       ^~~~~~
| cc1: all warnings being treated as errors
| make[2]: *** [Makefile:506: infile.o] Error 1
| make[2]: *** Waiting for unfinished jobs....
| cc1: all warnings being treated as errors
| make[2]: *** [Makefile:506: duct.o] Error 1
| make[2]: Leaving directory '/build/reproducible-path/innduct-2.2'
| make[1]: *** [Makefile:358: all] Error 2
| make[1]: Leaving directory '/build/reproducible-path/innduct-2.2'
| dh_auto_build: error: make -j128 returned exit code 2
| make: *** [debian/rules:6: binary] Error 255
| 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/innduct_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19