qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] qemu build fails on xen
@ 2015-07-07  8:45 Michael S. Tsirkin
  2015-07-07  8:48 ` Michael S. Tsirkin
  0 siblings, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2015-07-07  8:45 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: ehabkost, qemu-devel, paul.durrant, pbonzini, Chen, Tiejun, rth

The following error triggers on Fedora 22:

In file included from /scm/qemu/include/hw/xen/xen_backend.h:4:0,
                 from hw/block/xen_disk.c:39:
/scm/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types for ‘ioservid_t’
 typedef uint32_t ioservid_t;
                  ^
In file included from /usr/include/xen/hvm/params.h:24:0,
                 from /usr/include/xenctrl.h:46,
                 from /scm/qemu/include/hw/xen/xen_common.h:9,
                 from /scm/qemu/include/hw/xen/xen_backend.h:4,
                 from hw/block/xen_disk.c:39:
/usr/include/xen/hvm/hvm_op.h:255:18: note: previous declaration of ‘ioservid_t’ was here
 typedef uint16_t ioservid_t;
                  ^
/scm/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
make: *** [hw/block/xen_disk.o] Error 1
make: *** Waiting for unfinished jobs....

Reverting 3996e85c1822e05c50250f8d2d1e57b6bea1229d
Author: Paul Durrant <paul.durrant@citrix.com>
Date:   Tue Jan 20 11:06:19 2015 +0000

    Xen: Use the ioreq-server API when available


Looking at that header:

#ifndef HVM_PARAM_BUFIOREQ_EVTCHN
#define HVM_PARAM_BUFIOREQ_EVTCHN 26
#endif

#define IOREQ_TYPE_PCI_CONFIG 2


typedef uint32_t ioservid_t;


Are all polluting the global namespace, not to mention, violate the coding
style. Why not prefix them with Xen_, xen_ etc?


-- 
MST

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] qemu build fails on xen
  2015-07-07  8:45 [Qemu-devel] qemu build fails on xen Michael S. Tsirkin
@ 2015-07-07  8:48 ` Michael S. Tsirkin
  2015-07-07  9:26   ` Paul Durrant
  0 siblings, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2015-07-07  8:48 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Peter Maydell, ehabkost, qemu-devel, paul.durrant, pbonzini,
	Chen, Tiejun, rth

On Tue, Jul 07, 2015 at 11:45:29AM +0300, Michael S. Tsirkin wrote:
> The following error triggers on Fedora 22:
> 
> In file included from /scm/qemu/include/hw/xen/xen_backend.h:4:0,
>                  from hw/block/xen_disk.c:39:
> /scm/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting types for ‘ioservid_t’
>  typedef uint32_t ioservid_t;
>                   ^
> In file included from /usr/include/xen/hvm/params.h:24:0,
>                  from /usr/include/xenctrl.h:46,
>                  from /scm/qemu/include/hw/xen/xen_common.h:9,
>                  from /scm/qemu/include/hw/xen/xen_backend.h:4,
>                  from hw/block/xen_disk.c:39:
> /usr/include/xen/hvm/hvm_op.h:255:18: note: previous declaration of ‘ioservid_t’ was here
>  typedef uint16_t ioservid_t;
>                   ^
> /scm/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> make: *** [hw/block/xen_disk.o] Error 1
> make: *** Waiting for unfinished jobs....
> 
> Reverting 3996e85c1822e05c50250f8d2d1e57b6bea1229d

Sorry - I meant reverting this commit fixes the problem.



> Author: Paul Durrant <paul.durrant@citrix.com>
> Date:   Tue Jan 20 11:06:19 2015 +0000
> 
>     Xen: Use the ioreq-server API when available
> 
> 
> Looking at that header:
> 
> #ifndef HVM_PARAM_BUFIOREQ_EVTCHN
> #define HVM_PARAM_BUFIOREQ_EVTCHN 26
> #endif
> 
> #define IOREQ_TYPE_PCI_CONFIG 2
> 
> 
> typedef uint32_t ioservid_t;
> 
> 
> Are all polluting the global namespace, not to mention, violate the coding
> style. Why not prefix them with Xen_, xen_ etc?
> 
> 
> -- 
> MST

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] qemu build fails on xen
  2015-07-07  8:48 ` Michael S. Tsirkin
@ 2015-07-07  9:26   ` Paul Durrant
  2015-07-07 12:37     ` Peter Maydell
  0 siblings, 1 reply; 6+ messages in thread
From: Paul Durrant @ 2015-07-07  9:26 UTC (permalink / raw)
  To: Michael S. Tsirkin, Stefano Stabellini
  Cc: Peter Maydell, ehabkost@redhat.com, qemu-devel@nongnu.org,
	pbonzini@redhat.com, Chen, Tiejun, rth@twiddle.net

> -----Original Message-----
> From: Michael S. Tsirkin [mailto:mst@redhat.com]
> Sent: 07 July 2015 09:48
> To: Stefano Stabellini
> Cc: Chen, Tiejun; pbonzini@redhat.com; rth@twiddle.net;
> ehabkost@redhat.com; qemu-devel@nongnu.org; Paul Durrant; Peter
> Maydell
> Subject: Re: qemu build fails on xen
> 
> On Tue, Jul 07, 2015 at 11:45:29AM +0300, Michael S. Tsirkin wrote:
> > The following error triggers on Fedora 22:
> >
> > In file included from /scm/qemu/include/hw/xen/xen_backend.h:4:0,
> >                  from hw/block/xen_disk.c:39:
> > /scm/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting
> types for ‘ioservid_t’
> >  typedef uint32_t ioservid_t;
> >                   ^
> > In file included from /usr/include/xen/hvm/params.h:24:0,
> >                  from /usr/include/xenctrl.h:46,
> >                  from /scm/qemu/include/hw/xen/xen_common.h:9,
> >                  from /scm/qemu/include/hw/xen/xen_backend.h:4,
> >                  from hw/block/xen_disk.c:39:
> > /usr/include/xen/hvm/hvm_op.h:255:18: note: previous declaration of
> ‘ioservid_t’ was here
> >  typedef uint16_t ioservid_t;
> >                   ^
> > /scm/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> > make: *** [hw/block/xen_disk.o] Error 1
> > make: *** Waiting for unfinished jobs....
> >
> > Reverting 3996e85c1822e05c50250f8d2d1e57b6bea1229d
> 
> Sorry - I meant reverting this commit fixes the problem.

Hmm. I'm not sure why the definition in xen_common.h is there. I guess it's probably for compatibility. It's clearly wrong though.

  Paul
 
> 
> 
> > Author: Paul Durrant <paul.durrant@citrix.com>
> > Date:   Tue Jan 20 11:06:19 2015 +0000
> >
> >     Xen: Use the ioreq-server API when available
> >
> >
> > Looking at that header:
> >
> > #ifndef HVM_PARAM_BUFIOREQ_EVTCHN
> > #define HVM_PARAM_BUFIOREQ_EVTCHN 26
> > #endif
> >
> > #define IOREQ_TYPE_PCI_CONFIG 2
> >
> >
> > typedef uint32_t ioservid_t;
> >
> >
> > Are all polluting the global namespace, not to mention, violate the coding
> > style. Why not prefix them with Xen_, xen_ etc?
> >
> >
> > --
> > MST

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] qemu build fails on xen
  2015-07-07  9:26   ` Paul Durrant
@ 2015-07-07 12:37     ` Peter Maydell
  2015-07-07 13:12       ` Paul Durrant
  2015-07-07 13:26       ` Paul Durrant
  0 siblings, 2 replies; 6+ messages in thread
From: Peter Maydell @ 2015-07-07 12:37 UTC (permalink / raw)
  To: Paul Durrant
  Cc: ehabkost@redhat.com, Michael S. Tsirkin, qemu-devel@nongnu.org,
	Stefano Stabellini, pbonzini@redhat.com, Chen, Tiejun,
	rth@twiddle.net

On 7 July 2015 at 10:26, Paul Durrant <Paul.Durrant@citrix.com> wrote:
>> -----Original Message-----
>> From: Michael S. Tsirkin [mailto:mst@redhat.com]
>> Sent: 07 July 2015 09:48
>> To: Stefano Stabellini
>> Cc: Chen, Tiejun; pbonzini@redhat.com; rth@twiddle.net;
>> ehabkost@redhat.com; qemu-devel@nongnu.org; Paul Durrant; Peter
>> Maydell
>> Subject: Re: qemu build fails on xen
>>
>> On Tue, Jul 07, 2015 at 11:45:29AM +0300, Michael S. Tsirkin wrote:
>> > The following error triggers on Fedora 22:
>> >
>> > In file included from /scm/qemu/include/hw/xen/xen_backend.h:4:0,
>> >                  from hw/block/xen_disk.c:39:
>> > /scm/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting
>> types for ‘ioservid_t’
>> >  typedef uint32_t ioservid_t;
>> >                   ^
>> > In file included from /usr/include/xen/hvm/params.h:24:0,
>> >                  from /usr/include/xenctrl.h:46,
>> >                  from /scm/qemu/include/hw/xen/xen_common.h:9,
>> >                  from /scm/qemu/include/hw/xen/xen_backend.h:4,
>> >                  from hw/block/xen_disk.c:39:
>> > /usr/include/xen/hvm/hvm_op.h:255:18: note: previous declaration of
>> ‘ioservid_t’ was here
>> >  typedef uint16_t ioservid_t;
>> >                   ^
>> > /scm/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
>> > make: *** [hw/block/xen_disk.o] Error 1
>> > make: *** Waiting for unfinished jobs....
>> >
>> > Reverting 3996e85c1822e05c50250f8d2d1e57b6bea1229d
>>
>> Sorry - I meant reverting this commit fixes the problem.
>
> Hmm. I'm not sure why the definition in xen_common.h is there. I guess it's probably for compatibility. It's clearly wrong though.

Reminder: today is hardfreeze day -- a fix for this within the
next few hours would be nice, or rc0 won't build on these hosts
with xen enabled...

thanks
-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] qemu build fails on xen
  2015-07-07 12:37     ` Peter Maydell
@ 2015-07-07 13:12       ` Paul Durrant
  2015-07-07 13:26       ` Paul Durrant
  1 sibling, 0 replies; 6+ messages in thread
From: Paul Durrant @ 2015-07-07 13:12 UTC (permalink / raw)
  To: Peter Maydell
  Cc: ehabkost@redhat.com, Michael S. Tsirkin, qemu-devel@nongnu.org,
	Stefano Stabellini, pbonzini@redhat.com, Chen, Tiejun,
	rth@twiddle.net

> -----Original Message-----
> From: Peter Maydell [mailto:peter.maydell@linaro.org]
> Sent: 07 July 2015 13:38
> To: Paul Durrant
> Cc: Michael S. Tsirkin; Stefano Stabellini; Chen, Tiejun; pbonzini@redhat.com;
> rth@twiddle.net; ehabkost@redhat.com; qemu-devel@nongnu.org
> Subject: Re: qemu build fails on xen
> 
> On 7 July 2015 at 10:26, Paul Durrant <Paul.Durrant@citrix.com> wrote:
> >> -----Original Message-----
> >> From: Michael S. Tsirkin [mailto:mst@redhat.com]
> >> Sent: 07 July 2015 09:48
> >> To: Stefano Stabellini
> >> Cc: Chen, Tiejun; pbonzini@redhat.com; rth@twiddle.net;
> >> ehabkost@redhat.com; qemu-devel@nongnu.org; Paul Durrant; Peter
> >> Maydell
> >> Subject: Re: qemu build fails on xen
> >>
> >> On Tue, Jul 07, 2015 at 11:45:29AM +0300, Michael S. Tsirkin wrote:
> >> > The following error triggers on Fedora 22:
> >> >
> >> > In file included from /scm/qemu/include/hw/xen/xen_backend.h:4:0,
> >> >                  from hw/block/xen_disk.c:39:
> >> > /scm/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting
> >> types for ‘ioservid_t’
> >> >  typedef uint32_t ioservid_t;
> >> >                   ^
> >> > In file included from /usr/include/xen/hvm/params.h:24:0,
> >> >                  from /usr/include/xenctrl.h:46,
> >> >                  from /scm/qemu/include/hw/xen/xen_common.h:9,
> >> >                  from /scm/qemu/include/hw/xen/xen_backend.h:4,
> >> >                  from hw/block/xen_disk.c:39:
> >> > /usr/include/xen/hvm/hvm_op.h:255:18: note: previous declaration of
> >> ‘ioservid_t’ was here
> >> >  typedef uint16_t ioservid_t;
> >> >                   ^
> >> > /scm/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> >> > make: *** [hw/block/xen_disk.o] Error 1
> >> > make: *** Waiting for unfinished jobs....
> >> >
> >> > Reverting 3996e85c1822e05c50250f8d2d1e57b6bea1229d
> >>
> >> Sorry - I meant reverting this commit fixes the problem.
> >
> > Hmm. I'm not sure why the definition in xen_common.h is there. I guess
> it's probably for compatibility. It's clearly wrong though.
> 
> Reminder: today is hardfreeze day -- a fix for this within the
> next few hours would be nice, or rc0 won't build on these hosts
> with xen enabled...
> 

I will send a patch shortly.

  Paul

> thanks
> -- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] qemu build fails on xen
  2015-07-07 12:37     ` Peter Maydell
  2015-07-07 13:12       ` Paul Durrant
@ 2015-07-07 13:26       ` Paul Durrant
  1 sibling, 0 replies; 6+ messages in thread
From: Paul Durrant @ 2015-07-07 13:26 UTC (permalink / raw)
  To: Peter Maydell, Michael S. Tsirkin
  Cc: ehabkost@redhat.com, qemu-devel@nongnu.org, Stefano Stabellini,
	pbonzini@redhat.com, Chen, Tiejun, rth@twiddle.net

> -----Original Message-----
> From: Peter Maydell [mailto:peter.maydell@linaro.org]
> Sent: 07 July 2015 13:38
> To: Paul Durrant
> Cc: Michael S. Tsirkin; Stefano Stabellini; Chen, Tiejun; pbonzini@redhat.com;
> rth@twiddle.net; ehabkost@redhat.com; qemu-devel@nongnu.org
> Subject: Re: qemu build fails on xen
> 
> On 7 July 2015 at 10:26, Paul Durrant <Paul.Durrant@citrix.com> wrote:
> >> -----Original Message-----
> >> From: Michael S. Tsirkin [mailto:mst@redhat.com]
> >> Sent: 07 July 2015 09:48
> >> To: Stefano Stabellini
> >> Cc: Chen, Tiejun; pbonzini@redhat.com; rth@twiddle.net;
> >> ehabkost@redhat.com; qemu-devel@nongnu.org; Paul Durrant; Peter
> >> Maydell
> >> Subject: Re: qemu build fails on xen
> >>
> >> On Tue, Jul 07, 2015 at 11:45:29AM +0300, Michael S. Tsirkin wrote:
> >> > The following error triggers on Fedora 22:
> >> >
> >> > In file included from /scm/qemu/include/hw/xen/xen_backend.h:4:0,
> >> >                  from hw/block/xen_disk.c:39:
> >> > /scm/qemu/include/hw/xen/xen_common.h:198:18: error: conflicting
> >> types for ‘ioservid_t’
> >> >  typedef uint32_t ioservid_t;
> >> >                   ^
> >> > In file included from /usr/include/xen/hvm/params.h:24:0,
> >> >                  from /usr/include/xenctrl.h:46,
> >> >                  from /scm/qemu/include/hw/xen/xen_common.h:9,
> >> >                  from /scm/qemu/include/hw/xen/xen_backend.h:4,
> >> >                  from hw/block/xen_disk.c:39:
> >> > /usr/include/xen/hvm/hvm_op.h:255:18: note: previous declaration of
> >> ‘ioservid_t’ was here
> >> >  typedef uint16_t ioservid_t;
> >> >                   ^
> >> > /scm/qemu/rules.mak:57: recipe for target 'hw/block/xen_disk.o' failed
> >> > make: *** [hw/block/xen_disk.o] Error 1
> >> > make: *** Waiting for unfinished jobs....
> >> >
> >> > Reverting 3996e85c1822e05c50250f8d2d1e57b6bea1229d
> >>
> >> Sorry - I meant reverting this commit fixes the problem.
> >
> > Hmm. I'm not sure why the definition in xen_common.h is there. I guess
> it's probably for compatibility. It's clearly wrong though.
>

Looking more closely, if the definition in hvm_op.h is there then the one in xen_common.h should not be found since it's inside

#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 450

and the code in configure sets that to 450 if xc_hvm_create_ioreq_server() is present in libxenctrl.so. That function was added in the same patch series as the typedef of ioservid_t so it suggests that there is a mismatch between the xen headers and the version of libxenctrl in the build environment.

  Paul
 
> Reminder: today is hardfreeze day -- a fix for this within the
> next few hours would be nice, or rc0 won't build on these hosts
> with xen enabled...
> 
> thanks
> -- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-07-07 13:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-07  8:45 [Qemu-devel] qemu build fails on xen Michael S. Tsirkin
2015-07-07  8:48 ` Michael S. Tsirkin
2015-07-07  9:26   ` Paul Durrant
2015-07-07 12:37     ` Peter Maydell
2015-07-07 13:12       ` Paul Durrant
2015-07-07 13:26       ` Paul Durrant

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).