Re: [PATCH 03/12] Switch build system to accompanied kernel headers

Jan Kiszka
2011-06-23T07:18:39Z

[-- Attachment #1: Type: text/plain, Size: 2799 bytes --]

On 2011-06-23 07:37, Stefan Weil wrote:
> Am 22.06.2011 23:37, schrieb Jan Kiszka:
>> On 2011-06-22 22:51, Stefan Weil wrote:
>>> If not, kvm="yes" should be restricted to platforms with kvm support.
>>>
>>> Otherwise, QEMU builds will fail very early:
>>>
>>> ERROR: Host kernel lacks signalfd() support,
>>> but KVM depends on it when the IO thread is disabled.
>>>
>>> Of course, users of those non-kvm platforms can set --disable-kvm,
>>> but I don't think that is the correct solution.
>>>
>>> Even with kvm disabled, builds still fail for non-kvm systems:
>>>
>>> In file included from /qemu/hw/kvmclock.c:21:
>>> /qemu/linux-headers/linux/kvm_para.h:26:26: warning: asm/kvm_para.h: No
>>> such file or directory
>>
>> That indicates symlink emulation under Windows does not support
>> directories. Can you confirm this (check what
>> <builddir>/linux-headers/asm became)? Then we would have to link all
>> files in the arch header dir individually.
>>
>> Jan
>
> Even when cross compiling for w32 (on a linux host), kvmclock.c
> does not compile:
>
> $ LANG=C make CFLAGS=-g
> CC i386-softmmu/kvmclock.o
> In file included from /home/stefan/src/qemu/savannah/qemu/hw/kvmclock.c:20:
> /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:10:25:
> warning: linux/types.h: No such file or directory
> /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:12:25:
> warning: linux/ioctl.h: No such file or directory
> In file included from
> /home/stefan/src/qemu/savannah/qemu/linux-headers/linux/kvm.h:13,
> from /home/stefan/src/qemu/savannah/qemu/hw/kvmclock.c:20:
> ../linux-headers/asm/kvm.h:32: error: expected specifier-qualifier-list
> before '__u32'
> ../linux-headers/asm/kvm.h:41: error: expected specifier-qualifier-list
> before '__u8'
> ../linux-headers/asm/kvm.h:61: error: expected specifier-qualifier-list
> before '__u64'
>
> Is kvmclock.c really needed for non-kvm platforms? Or does it simply need
> a obj-i386-$(CONFIG_KVM) in Makefile.target?

It's not needed, specifically as we do not (yet) emulate the pv
interfaces of KVM. But changing the makefile won't suffice, we also need
to stub out kvmclock_create.

Right now I'm fighting to get a mingw build that far at all. The version
I have here (gcc 4.6 based) does not include liberity (but apparently
links fine without as well). Then there are tons of other errors and
warnings. Do you have some tree with recent fixes?

I would suggest you to set up a buildbot for the Windows platform. That
should help to get notifications about breakages a bit earlier. And that
may help to keep their number down (this broken window thing: once the
first few got damaged, no one will bother about smashing another one.

Jan

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]