Root cause analysis (same issue as ebtables, LP: #2169809):

libnl3 bundles copies of kernel UAPI headers in include/linux-private/,
including include/linux-private/linux/types.h. The build uses
-I./include/linux-private, so this copy shadows the system
<linux/types.h> from linux-libc-dev. The failure is in tests/test-cache-
mngr.c, which includes <signal.h>.

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, 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. Only arm64 fails because only its sigcontext.h
changed.

So the kernel headers are fine and the fix belongs in libnl3: either
refresh the bundled linux-private/linux/types.h from current kernel
headers (so it defines __u128), or stop shadowing the system header for
code that includes <signal.h>. Refreshing the bundled copy is probably
the least invasive option, since libnl intentionally carries its own
UAPI headers. The ebtables fix may be a useful reference.

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/2169812

Title:
  libnl3 3.12.0-2 FTBFS in stonking

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/2169812/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to