[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Qemu-devel] [Bug 1531632] [NEW] Can't compile qemu because of errors in the Xen code



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, &param);
>                                     ^
> /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, &param);
>                                     ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
> [leo@AlphaArch 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, &param);
>                                     ^
> /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, &param);
>                                     ^
> /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
> [leo@AlphaArch 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, &param);
>                                     ^
> /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, &param);
>                                     ^
> /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, &param);
>                                       ^
>   /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, &param);
>                                       ^
>   /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
>   make: *** [hw/block/xen_disk.o] Error 1
>   [leo@AlphaArch 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, &param);
>                                       ^
>   /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, &param);
>                                       ^
>   /home/leo/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
>   make: *** [hw/block/xen_disk.o] Error 1
>   [leo@AlphaArch 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, &param);
>                                       ^
>   /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, &param);
>                                       ^
>   /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
> 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.