RE: kvm-userspace build break (linux/types.h)

Zhang, Xiantao
2009-02-20T03:01:21Z

For x86 and ia64, linux/types.h will be hacked to asm/types.h when syncing the source.
You may consult kernel/x86/hack-module.awk to get the answer.
Xiantao

Joerg Roedel wrote:
> On Thu, Feb 19, 2009 at 03:50:14PM -0600, Hollis Blanchard wrote:
>> A recent kernel merge breaks kvm-userspace build:
>> make[1]: Entering directory
>> `/root/hollisb/kvm-userspace.git/libkvm' gcc -m64
>> -D__x86_64__ -MMD -MF ./.libkvm.d -g -fomit-frame-pointer
>> -Wall -fno-stack-protector -I
>>
>> /root/hollisb/kvm-userspace.git/kernel/include -c -o
>> libkvm.o libkvm.c In file included from
>> /usr/include/bits/fcntl.h:24, from /usr/include/fcntl.h:34,
>> from libkvm.c:30: /usr/include/sys/types.h:46: error:
>> conflicting types for 'loff_t' /usr/include/linux/types.h:30: error:
>> previous declaration of 'loff_t' was here
>> /usr/include/sys/types.h:62: error: conflicting types for 'dev_t'
>> /usr/include/linux/types.h:13: error: previous declaration of
>> 'dev_t' was here [...]
>>
>> I built like so:
>> ./configure
>> make -C kernel LINUX=/path/to/kvm.git sync
>> make
>>
>> The problem appears to be 00bfddaf7f68a6551319b536f052040c370756b0
>> and
>> cef3767852a9b1a7ff4a8dfe0969e2d32eb728df, both from Jaswinder Singh
>> Rajput <jaswinder@infradead.org>:
>> -#include <asm/types.h>
>> +#include <linux/types.h>
>>
>> With these changes, libkvm.c ends up
>> including /usr/include/linux/types.h, instead of the
>> intended ../kernel/include/linux/types.h.
>
> I had the same problem some weeks ago. IIRC I fixed it with some
> include reordering in libkvm.h.
>
> Joerg