Root cause analysis:
ebtables ships an outdated copy of the kernel UAPI header
include/linux/types.h (added upstream in 2015, "Add kernel headers
needed from v3.16"). The build uses -I./include, so this copy shadows
the system <linux/types.h> from linux-libc-dev.
The trigger is a change in the arm64 UAPI headers between linux-libc-dev 7.0
and 7.3. In /usr/include/aarch64-linux-gnu/asm/sigcontext.h (pulled in via
<signal.h>), line 81 changed:
7.0: __uint128_t vregs[32]; (compiler builtin, works with any types.h)
7.3: __u128 vregs[32]; (kernel typedef from linux/types.h)
The system linux/types.h has defined __u128 since at least 6.8, but the
bundled copy does not. Until 7.3 nothing used __u128 here, so the stale
copy went unnoticed. Only arm64 fails because only its sigcontext.h
changed.
So the kernel headers are fine and the fix belongs in ebtables: drop the
bundled include/linux/types.h and use the system header. I've tested this:
- with the arm64 linux-libc-dev 7.3 headers, a test file reproduces the exact
error with the bundled copy and compiles without it
- a full package build on amd64 succeeds with the patch
Debian (2.0.11-6 in unstable/testing) and upstream git
(git.netfilter.org/ebtables) still carry the bundled header; no existing
report or fix found. Debian will hit this once it has newer kernel
headers. I'll forward the patch.
Marking the linux task Invalid since the kernel headers are correct.
** Changed in: linux (Ubuntu)
Status: New => Invalid
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169809
Title:
ebtables 2.0.11-6build2 FTBFS in stonking
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ebtables/+bug/2169809/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs