qemu-devel
[Top][All Lists]
Advanced

[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, &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
> 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, &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
> 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, &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
>   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, &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
>   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, &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
> 

reply via email to

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