[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/docker: Kludge <linux/swab.h> breakage by pinning linu
From: |
Salvatore Bonaccorso |
Subject: |
Re: [PATCH] tests/docker: Kludge <linux/swab.h> breakage by pinning linux-libc-dev |
Date: |
Wed, 13 May 2020 19:32:46 +0200 |
Hi,
On Wed, May 13, 2020 at 04:15:48PM +0100, Alex Bennée wrote:
>
> Philippe Mathieu-Daudé <address@hidden> writes:
>
> > Linux kernel commit d5767057c9a [1] aimed to fix an issue with the
> > swab() declaration, but doing so it introduced the BITS_PER_LONG
> > definition, without using the kernel __ prefix, leading to odd
> > failures in userland code using kernel uapi headers, such:
> >
> > CC block/file-posix.o
> > In file included from include/qemu/timer.h:4,
> > from include/qemu/timed-average.h:29,
> > from include/block/accounting.h:28,
> > from include/block/block_int.h:27,
> > from block/file-posix.c:30:
> > /usr/include/linux/swab.h: In function `__swab':
> > include/qemu/bitops.h:20:34: error: "sizeof" is not defined, evaluates
> > to 0 [-Werror=undef]
> > 20 | #define BITS_PER_LONG (sizeof (unsigned long) *
> > BITS_PER_BYTE)
> > | ^~~~~~
> > include/qemu/bitops.h:20:41: error: missing binary operator before
> > token "("
> > 20 | #define BITS_PER_LONG (sizeof (unsigned long) *
> > BITS_PER_BYTE)
> > | ^
> > cc1: all warnings being treated as errors
> > make: *** [rules.mak:69: block/file-posix.o] Error 1
> >
> > The issue has been fixed in Linux kernel commit 467d12f5c78 [2].
> > Some distributions already backported the first commit, but still
> > lack the second one.
> >
> > This is the case for Debian Buster.
> > The linux-libc-dev package contains the Linux kernel headers.
> > Kernel commit d5767057c9a has been backported in package
> > commit 1fb0eb7956 "Update to 4.19.116" [3], see debian/changelog:
> >
> > +linux (4.19.116-1) UNRELEASED; urgency=medium
> > ...
> > + - uapi: rename ext2_swab() to swab() and share globally in swab.h
> >
> > The previous released update before it is debian/4.19.98-1,
> > released as debian/4.19.98-1+deb10u1.
> >
> > We can find this package in the Debian snapshot archives,
> > luckily archived on 2020-04-28 21:20:54 (see [4]).
> >
> > QEMU use Debian based Docker images for most of its cross-builds,
> > which are tested by our Shippable CI jobs. The current broken
> > package makes most of our CI red. We can kludge this by using the
> > latest package released before the breakage. Do so by pinning
> > the package version (apt hold), and using the snapshot archives,
> > similar to commit b4048a7cd1.
> > We'll revert once the fix is backported on Debian.
>
> May as well mention:
>
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960271
FWIW, we applied in the buster packaging branch
https://salsa.debian.org/kernel-team/linux/-/commit/a4fb2a7b7688f3a7cb36e17b9d8c661ac44a41a4
But the point release just happened last weekend, so it might take
some time until the fix will enter either via the 10.5 point release
or sooner by a needed update.
Regards,
Salvatore