qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]