Control: reassign -1 gnulib
Control: affects -1 inetutils

Hi!

On Fri, 2026-02-20 at 23:58:01 +0100, Aurelien Jarno wrote:
> Source: inetutils
> Version: 2:2.7-3
> Severity: important
> Tags: ftbfs upstream
> Justification: fails to build from source
> User: [email protected]
> Usertags: glibc-2.43

> inetutils fails to build from source with glibc 2.43, currently in
> experimental. From the build log:
> 
> | gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  
> -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef 
> -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion 
> -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits 
> -Wno-unused-const-variable -Wno-unsuffixed-float-constants -Wno-error -Wall 
> -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/inetutils-2.7=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -mbranch-protection=standard -c -o 
> libgnu_a-c32tolower.o `test -f 'c32tolower.c' || echo './'`c32tolower.c
> | In file included from /usr/include/features.h:539,
> |                  from 
> /usr/include/aarch64-linux-gnu/bits/libc-header-start.h:33,
> |                  from /usr/include/stdlib.h:26,
> |                  from ./stdlib.h:51,
> |                  from argp-fmtstream.c:26:
> | ./stdlib.h:820:20: error: expected identifier or '(' before '_Generic'
> |   820 | _GL_EXTERN_C void *bsearch (const void *__key,
> |       |                    ^~~~~~~
[…]
> | dh_auto_build: error: make -j128 returned exit code 2
> | make: *** [debian/rules:29: 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].

The problematic code is in gnulib, which inetutils pulls in at build
time. This has been fixed in upstream gnulib at least with commit
df17f4f37ed3ca373d23ad42eae51122bdb96626 (there might be other commits
needed besides that though).

There was a gnulib upload with a recent version that I think should
contain the fixed code, which looks being intended for experimental,
but ended up in unstable, and even though the buildd status says it
supposedly got built, it does not appear on unstable.

  
https://tracker.debian.org/news/1706111/accepted-gnulib-20260109-1exp1-source-into-unstable/
  https://buildd.debian.org/status/package.php?p=gnulib

I tested with a local checkout (from today) of gnulib and the glibc
from experimental, and inetutils then builds fine. So a fixed gnulib
should fix the inetutils FTBFS.

Once a fixed gnulib is uploaded, it might also make sense to add a
version Breaks from libc6-dev against gnulib probably.

Thanks,
Guillem

Reply via email to