[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Bug 1531632] [NEW] Can't compile qemu because of error
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [Bug 1531632] [NEW] Can't compile qemu because of errors in the Xen code |
Date: |
Wed, 13 Jan 2016 11:05:03 +0000 |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
On Wed, 6 Jan 2016, Leo wrote:
> Public bug reported:
>
> I'm using Arch Linux, with all needed libs packages installed via ABS
> (compiled from source).
> I tried to clone the master repository, the v2.5.0 and the stable-2.4.0, all
> I had the same problems:
Hello Leo,
what is the version of Xen installed on your system?
The problem seems to be that QEMU detects a Xen < 4.5, but actually
ioservid_t is already defined (it shouldn't be, if Xen was a regular
4.5).
> First I have to disable -Werror, because it claims about some
> uninitialized variables.
>
> Trying to compile the code, it stops when compiling the xen code
> (hw/block/xendisk.o), complaining that ioservid_t is declared twice,
> first as 16bit and then as 32bit.
>
> Output of make:
>
> CC hw/block/xen_disk.o
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types
> for ‘ioservid_t’
> typedef uint16_t ioservid_t;
> ^
> In file included from /usr/include/xenctrl.h:37:0,
> from /home/leo/qemu/include/hw/xen/xen_common.h:9,
> from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’ was
> here
> typedef uint32_t ioservid_t;
> ^
I don't know where this is coming from. I cannot find it in the sources
anywhere.
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h: In function
> ‘xen_get_ioreq_server_info’:
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: error:
> ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared
> identifier is reported only once for each function it appears in
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:264:36: error:
> ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
> address@hidden build]$ make
> CC hw/block/xen_disk.o
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types
> for ‘ioservid_t’
> typedef uint16_t ioservid_t;
> ^
> In file included from /usr/include/xenctrl.h:37:0,
> from /home/leo/qemu/include/hw/xen/xen_common.h:9,
> from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’ was
> here
> typedef uint32_t ioservid_t;
> ^
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h: In function
> ‘xen_get_ioreq_server_info’:
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: error:
> ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared
> identifier is reported only once for each function it appears in
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:264:36: error:
> ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
> address@hidden build]$ make
> CC hw/block/xen_disk.o
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types
> for ‘ioservid_t’
> typedef uint16_t ioservid_t;
> ^
> In file included from /usr/include/xenctrl.h:37:0,
> from /home/leo/qemu/include/hw/xen/xen_common.h:9,
> from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’ was
> here
> typedef uint32_t ioservid_t;
> ^
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h: In function
> ‘xen_get_ioreq_server_info’:
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: error:
> ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared
> identifier is reported only once for each function it appears in
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:264:36: error:
> ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
>
> ** Affects: qemu
> Importance: Undecided
> Status: New
>
> --
> You received this bug notification because you are a member of qemu-
> devel-ml, which is subscribed to QEMU.
> https://bugs.launchpad.net/bugs/1531632
>
> Title:
> Can't compile qemu because of errors in the Xen code
>
> Status in QEMU:
> New
>
> Bug description:
> I'm using Arch Linux, with all needed libs packages installed via ABS
> (compiled from source).
> I tried to clone the master repository, the v2.5.0 and the stable-2.4.0,
> all I had the same problems:
>
> First I have to disable -Werror, because it claims about some
> uninitialized variables.
>
> Trying to compile the code, it stops when compiling the xen code
> (hw/block/xendisk.o), complaining that ioservid_t is declared twice,
> first as 16bit and then as 32bit.
>
> Output of make:
>
> CC hw/block/xen_disk.o
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types
> for ‘ioservid_t’
> typedef uint16_t ioservid_t;
> ^
> In file included from /usr/include/xenctrl.h:37:0,
> from /home/leo/qemu/include/hw/xen/xen_common.h:9,
> from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’
> was here
> typedef uint32_t ioservid_t;
> ^
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h: In function
> ‘xen_get_ioreq_server_info’:
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: error:
> ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared
> identifier is reported only once for each function it appears in
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:264:36: error:
> ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
> address@hidden build]$ make
> CC hw/block/xen_disk.o
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types
> for ‘ioservid_t’
> typedef uint16_t ioservid_t;
> ^
> In file included from /usr/include/xenctrl.h:37:0,
> from /home/leo/qemu/include/hw/xen/xen_common.h:9,
> from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’
> was here
> typedef uint32_t ioservid_t;
> ^
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h: In function
> ‘xen_get_ioreq_server_info’:
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: error:
> ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared
> identifier is reported only once for each function it appears in
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:264:36: error:
> ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
> address@hidden build]$ make
> CC hw/block/xen_disk.o
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types
> for ‘ioservid_t’
> typedef uint16_t ioservid_t;
> ^
> In file included from /usr/include/xenctrl.h:37:0,
> from /home/leo/qemu/include/hw/xen/xen_common.h:9,
> from /home/leo/qemu/include/hw/xen/xen_backend.h:4,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /usr/include/xen/xen.h:353:18: note: previous declaration of ‘ioservid_t’
> was here
> typedef uint32_t ioservid_t;
> ^
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h: In function
> ‘xen_get_ioreq_server_info’:
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: error:
> ‘HVM_PARAM_IOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_IOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/include/hw/xen/xen_common.h:256:36: note: each undeclared
> identifier is reported only once for each function it appears in
> In file included from /home/leo/qemu/include/hw/xen/xen_backend.h:4:0,
> from /home/leo/qemu/hw/block/xen_disk.c:39:
> /home/leo/qemu/include/hw/xen/xen_common.h:264:36: error:
> ‘HVM_PARAM_BUFIOREQ_PFN’ undeclared (first use in this function)
> rc = xc_get_hvm_param(xc, dom, HVM_PARAM_BUFIOREQ_PFN, ¶m);
> ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1531632/+subscriptions
>