#1150855 zile: FTBFS on ppc64el with IEEE128 long double: outdated bundled gnulib cdefs.h

Package:
src:zile
Source:
src:zile
Submitter:
Sebastien Bacher
Date:
2026-10-13 22:53:27 UTC
Severity:
normal
Tags:
#1150855#5
Date:
2026-10-13 21:51:30 UTC
From:
To:
Hi,

zile fails to build on ppc64el in Ubuntu, and the same failure reproduces
with Debian sid's toolchain. The current Debian ppc64el binary is an older
binNMU (2.6.2-2+b3), so this will show up on the next rebuild.

Ubuntu build log:
https://launchpad.net/ubuntu/+source/zile/2.6.2-2build3/+build/32794509

  In file included from /usr/include/powerpc64le-linux-gnu/stdio.h:964,
                   from regex_internal.h:25,
                   from regex.c:68:
  /usr/include/powerpc64le-linux-gnu/bits/stdio-ldbl.h:42:1: error: return
type defaults to 'int' [-Wimplicit-int]
     42 | __LDBL_REDIR1_DECL (fscanf, __isoc23_fscanfieee128)

The cause seems to be that zile bundles an old gnulib copy of lib/cdefs.h
(used through gnulib's libc-config.h in place of glibc's <sys/cdefs.h>).
That copy predates glibc 2.32 and lacks __LDBL_REDIR1_DECL and the
__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI handling. glibc's stdio-ldbl.h uses
these when long double is IEEE128, which is now the default for ppc64el
in Debian's gcc packages (ppc64el_ibm128_distreleases stops at trixie).
Refreshing lib/cdefs.h and lib/libc-config.h from current gnulib should
fix it.

Other packages bundling a pre-2020 gnulib with regex.c might be affected
on ppc64el in the same way.

Regards,
Sebastien Bacher