*** This bug is a duplicate of bug 2170635 ***
https://bugs.launchpad.net/bugs/2170635
Public bug reported:
zile 2.6.2-2build3 (no-change rebuild) has been stuck in stonking-
proposed for ~255 days: it fails to build on ppc64el only. stonking
release has 2.6.2-2build2 including a ppc64el binary, so the missing
build blocks migration.
https://launchpad.net/ubuntu/+source/zile/2.6.2-2build3/+build/32794509
The failure is when compiling the bundled gnulib regex (lib/regex.c),
inside glibc's headers:
/usr/include/powerpc64le-linux-gnu/bits/stdio-ldbl.h:42:1: error: return type
defaults to 'int' [-Wimplicit-int]
/usr/include/powerpc64le-linux-gnu/bits/stdio-ldbl.h:43:1: error: expected
declaration specifiers before '__LDBL_REDIR1_DECL'
/usr/include/powerpc64le-linux-gnu/bits/stdio-ldbl.h:110:1: error: storage
class specified for parameter '__sprintf_chk'
...
regex.c:82: error: expected '{' at end of input
Analysis:
- Ubuntu's ppc64el toolchain now uses IEEE 128-bit long double, so glibc's
headers take the IEEE128 path, which uses the __LDBL_REDIR*_DECL macros as
defined by the current glibc <sys/cdefs.h> (see the __LONG_DOUBLE_USES_FLOAT128
branches there).
- zile ships an old gnulib copy of cdefs.h (lib/cdefs.h, pulled in via
lib/libc-config.h when building the bundled regex). That copy only knows the
old __LDBL_COMPAT case and doesn't define the macros the IEEE128 path needs, so
the glibc declarations fall apart.
- configure forces the bundled regex ("Forcing --with-included-regex, to use
our patched version"), so --without-included-regex alone won't avoid it.
- Debian (2.6.2-2 in testing/unstable) isn't affected, since its ppc64el
doesn't use IEEE long double. Same pattern as other ppc64el IEEE long double
FTBFS with old gnulib copies.
Suggested direction (not done yet):
- Update the gnulib files involved (lib/cdefs.h, lib/libc-config.h, possibly
the regex files) from a current gnulib, which handles the IEEE128 case; or
backport just the relevant gnulib change to lib/cdefs.h as an Ubuntu delta.
- Check whether a newer upstream zile has a refreshed gnulib (next cycle
material).
- Test on ppc64el (PPA or porter box), since the problem doesn't reproduce on
other architectures.
** Affects: zile (Ubuntu)
Importance: Undecided
Status: Invalid
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2170752
Title:
zile FTBFS on ppc64el: old gnulib cdefs.h breaks glibc IEEE long
double headers
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zile/+bug/2170752/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs