qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
@ 2012-02-08  0:17 Rusty Russell
  2012-02-08 15:22 ` Gerd Hoffmann
  0 siblings, 1 reply; 10+ messages in thread
From: Rusty Russell @ 2012-02-08  0:17 UTC (permalink / raw)
  To: qemu-devel

As featured on:
        https://bugs.launchpad.net/qemu-linaro/+bug/928432

Since we compile with -Werror, the presence of spice headers breaks
compile.  Yet except for x86-64, it doesn't compile, doesn't work, isn't
supported.  See: http://spice-space.org/faq.html

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 configure |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index c9ff673..84118e4 100755
--- a/configure
+++ b/configure
@@ -2509,7 +2509,7 @@ if compile_prog "" "" ; then
     need_offsetof=no
 fi
 
-# spice probe
+# spice probe: x86-64 only (see http://spice-space.org/page/FAQ)
 if test "$spice" != "no" ; then
   cat > $TMPC << EOF
 #include <spice.h>
@@ -2517,7 +2517,8 @@ int main(void) { spice_server_new(); return 0; }
 EOF
   spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
   spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
-  if $pkg_config --atleast-version=0.6.0 spice-server >/dev/null 2>&1 && \
+  if [ "$ARCH" = x86_64 ] && \
+     $pkg_config --atleast-version=0.6.0 spice-server >/dev/null 2>&1 && \
      compile_prog "$spice_cflags" "$spice_libs" ; then
     spice="yes"
     libs_softmmu="$libs_softmmu $spice_libs"

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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-02-08  0:17 [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit Rusty Russell
@ 2012-02-08 15:22 ` Gerd Hoffmann
  2012-03-07 10:30   ` Peter Maydell
  0 siblings, 1 reply; 10+ messages in thread
From: Gerd Hoffmann @ 2012-02-08 15:22 UTC (permalink / raw)
  To: Rusty Russell; +Cc: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 505 bytes --]

On 02/08/12 01:17, Rusty Russell wrote:
> As featured on:
>         https://bugs.launchpad.net/qemu-linaro/+bug/928432
> 
> Since we compile with -Werror, the presence of spice headers breaks
> compile.  Yet except for x86-64, it doesn't compile, doesn't work, isn't
> supported.  See: http://spice-space.org/faq.html

Outdated.  64bit restrictions are gone, spice server works on 32bit too.
 Thats why 32bit spice packages exist in the first place ;)

Attached patch fixes the warnings.

cheers,
  Gerd


[-- Attachment #2: 0001-qxl-fix-warnings-on-32bit.patch --]
[-- Type: text/plain, Size: 1601 bytes --]

>From a45a8229260d45804fea654fb9b45c35eb454478 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Wed, 8 Feb 2012 15:58:35 +0100
Subject: [PATCH] qxl: fix warnings on 32bit

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/qxl.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/hw/qxl.c b/hw/qxl.c
index 3b5f45a..da7ee1b 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -625,7 +625,7 @@ static void interface_release_resource(QXLInstance *sin,
 
     if (ext.group_id == MEMSLOT_GROUP_HOST) {
         /* host group -> vga mode update request */
-        qemu_spice_destroy_update(&qxl->ssd, (void*)ext.info->id);
+        qemu_spice_destroy_update(&qxl->ssd, (void *)(intptr_t)ext.info->id);
         return;
     }
 
@@ -748,7 +748,8 @@ static void interface_async_complete(QXLInstance *sin, uint64_t cookie)
     qxl->current_async = QXL_UNDEFINED_IO;
     qemu_mutex_unlock(&qxl->async_lock);
 
-    dprint(qxl, 2, "async_complete: %d (%ld) done\n", current_async, cookie);
+    dprint(qxl, 2, "async_complete: %d (%" PRId64 ") done\n",
+           current_async, cookie);
     switch (current_async) {
     case QXL_IO_CREATE_PRIMARY_ASYNC:
         qxl_create_guest_primary_complete(qxl);
@@ -1017,7 +1018,7 @@ void *qxl_phys2virt(PCIQXLDevice *qxl, QXLPHYSICAL pqxl, int group_id)
 
     switch (group_id) {
     case MEMSLOT_GROUP_HOST:
-        return (void*)offset;
+        return (void *)(intptr_t)offset;
     case MEMSLOT_GROUP_GUEST:
         PANIC_ON(slot >= NUM_MEMSLOTS);
         PANIC_ON(!qxl->guest_slots[slot].active);
-- 
1.7.1


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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-02-08 15:22 ` Gerd Hoffmann
@ 2012-03-07 10:30   ` Peter Maydell
  2012-03-07 11:38     ` Gerd Hoffmann
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2012-03-07 10:30 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Rusty Russell, qemu-devel

On 8 February 2012 15:22, Gerd Hoffmann <kraxel@redhat.com> wrote:
> On 02/08/12 01:17, Rusty Russell wrote:
>> As featured on:
>>         https://bugs.launchpad.net/qemu-linaro/+bug/928432
>>
>> Since we compile with -Werror, the presence of spice headers breaks
>> compile.  Yet except for x86-64, it doesn't compile, doesn't work, isn't
>> supported.  See: http://spice-space.org/faq.html
>
> Outdated.  64bit restrictions are gone, spice server works on 32bit too.
>  Thats why 32bit spice packages exist in the first place ;)
>
> Attached patch fixes the warnings.

Ping -- there seem to have been a couple of spice patch queue
pulls since but did this warning fix patch get lost?

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-03-07 10:30   ` Peter Maydell
@ 2012-03-07 11:38     ` Gerd Hoffmann
  2012-03-07 11:45       ` Peter Maydell
  2012-03-07 12:33       ` Peter Maydell
  0 siblings, 2 replies; 10+ messages in thread
From: Gerd Hoffmann @ 2012-03-07 11:38 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Rusty Russell, qemu-devel

On 03/07/12 11:30, Peter Maydell wrote:
> On 8 February 2012 15:22, Gerd Hoffmann <kraxel@redhat.com> wrote:
>> On 02/08/12 01:17, Rusty Russell wrote:
>>> As featured on:
>>>         https://bugs.launchpad.net/qemu-linaro/+bug/928432
>>>
>>> Since we compile with -Werror, the presence of spice headers breaks
>>> compile.  Yet except for x86-64, it doesn't compile, doesn't work, isn't
>>> supported.  See: http://spice-space.org/faq.html
>>
>> Outdated.  64bit restrictions are gone, spice server works on 32bit too.
>>  Thats why 32bit spice packages exist in the first place ;)
>>
>> Attached patch fixes the warnings.
> 
> Ping -- there seem to have been a couple of spice patch queue
> pulls since but did this warning fix patch get lost?

commit f4a8a424fceb0f79bbd9f7ae4285c8a58eb5598e

But it still doesn't build indeed.
Looks like new warnings sneaked in ...

cheers,
  Gerd

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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-03-07 11:38     ` Gerd Hoffmann
@ 2012-03-07 11:45       ` Peter Maydell
  2012-03-07 12:33       ` Peter Maydell
  1 sibling, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2012-03-07 11:45 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Rusty Russell, qemu-devel

On 7 March 2012 11:38, Gerd Hoffmann <kraxel@redhat.com> wrote:
> On 03/07/12 11:30, Peter Maydell wrote:
>> Ping -- there seem to have been a couple of spice patch queue
>> pulls since but did this warning fix patch get lost?
>
> commit f4a8a424fceb0f79bbd9f7ae4285c8a58eb5598e

Yeah, I just spotted this, not sure why I thought the patch
hadn't been applied. Sorry about the noise.

> But it still doesn't build indeed.
> Looks like new warnings sneaked in ...

Hohum :-(

-- PMM

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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-03-07 11:38     ` Gerd Hoffmann
  2012-03-07 11:45       ` Peter Maydell
@ 2012-03-07 12:33       ` Peter Maydell
  2012-03-07 12:43         ` Gerd Hoffmann
  1 sibling, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2012-03-07 12:33 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Rusty Russell, Alon Levy, qemu-devel

On 7 March 2012 11:38, Gerd Hoffmann <kraxel@redhat.com> wrote:
> But it still doesn't build indeed.
> Looks like new warnings sneaked in ...

Actually I get an outright compile error:

  CC    ui/spice-display.o
ui/spice-display.c: In function ‘qemu_spice_add_memslot’:
ui/spice-display.c:79:42: error: ‘QXL_IO_MEMSLOT_ADD_ASYNC’ undeclared
(first use in this function)
ui/spice-display.c:79:42: note: each undeclared identifier is reported
only once for each function it appears in
ui/spice-display.c: In function ‘qemu_spice_create_primary_surface’:
ui/spice-display.c:97:42: error: ‘QXL_IO_CREATE_PRIMARY_ASYNC’
undeclared (first use in this function)
ui/spice-display.c: In function ‘qemu_spice_destroy_primary_surface’:
ui/spice-display.c:110:42: error: ‘QXL_IO_DESTROY_PRIMARY_ASYNC’
undeclared (first use in this function)
make: *** [ui/spice-display.o] Error 1

git bisect blames commit 2e1a98c9c "qxl: introduce QXLCookie".
Do we need a preprocessor guard so we don't try to use these
if the host's spice headers don't support them?

(My host is Ubuntu Oneiric with libspice-server-dev 0.8.2-2
and spice-protocol-dev 0.8.0-0ubuntu1.)

-- PMM

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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-03-07 12:33       ` Peter Maydell
@ 2012-03-07 12:43         ` Gerd Hoffmann
  2012-03-07 13:01           ` Alon Levy
  0 siblings, 1 reply; 10+ messages in thread
From: Gerd Hoffmann @ 2012-03-07 12:43 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Rusty Russell, Alon Levy, qemu-devel

  Hi,

> git bisect blames commit 2e1a98c9c "qxl: introduce QXLCookie".
> Do we need a preprocessor guard so we don't try to use these
> if the host's spice headers don't support them?

> (My host is Ubuntu Oneiric with libspice-server-dev 0.8.2-2
> and spice-protocol-dev 0.8.0-0ubuntu1.)

Hmm, spice-protocol 0.8.1 adds them.  qemu configure has a hard
dependency on spice-server 0.8.2 or newer, and I through that
automagically pulls in a recent enougth spice-protocol too because it is
needed to build spice-server in the first place.

Alon?  Did I mix up the versioning?  Or is this a bug in the ubuntu
package dependencies?

cheers,
  Gerd

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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-03-07 12:43         ` Gerd Hoffmann
@ 2012-03-07 13:01           ` Alon Levy
  2012-03-07 13:54             ` Peter Maydell
  0 siblings, 1 reply; 10+ messages in thread
From: Alon Levy @ 2012-03-07 13:01 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Peter Maydell, Rusty Russell, qemu-devel

On Wed, Mar 07, 2012 at 01:43:36PM +0100, Gerd Hoffmann wrote:
>   Hi,
> 
> > git bisect blames commit 2e1a98c9c "qxl: introduce QXLCookie".
> > Do we need a preprocessor guard so we don't try to use these
> > if the host's spice headers don't support them?
> 
> > (My host is Ubuntu Oneiric with libspice-server-dev 0.8.2-2
> > and spice-protocol-dev 0.8.0-0ubuntu1.)
> 
> Hmm, spice-protocol 0.8.1 adds them.  qemu configure has a hard
> dependency on spice-server 0.8.2 or newer, and I through that
> automagically pulls in a recent enougth spice-protocol too because it is
> needed to build spice-server in the first place.
> 
> Alon?  Did I mix up the versioning?  Or is this a bug in the ubuntu
> package dependencies?

There is no spice-protocol requires in spice-server.pc from 0.8 branch
(took the 0.8.2 commit f0e5a3cb77625b32050f052a8ede7ab0ca008224), This
is the Requires line:
Requires:  pixman-1 >= 0.17.7 celt051 >= 0.5.1.1 alsa openssl xrandr
xfixes x11 xext xrender

so I think we need to add our own.


diff --git a/configure b/configure
index a5eb832..ecdfe9a 100755
--- a/configure
+++ b/configure
@@ -2544,6 +2544,7 @@ EOF
   spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
   spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
   if $pkg_config --atleast-version=0.8.2 spice-server >/dev/null 2>&1 && \
+     $pkg_config --atleast-version=0.8.1 spice-protocol > /dev/null 2>&1 && \
      compile_prog "$spice_cflags" "$spice_libs" ; then
     spice="yes"
     libs_softmmu="$libs_softmmu $spice_libs"

> 
> cheers,
>   Gerd
> 

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

* Re: [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit.
  2012-03-07 13:01           ` Alon Levy
@ 2012-03-07 13:54             ` Peter Maydell
  2012-03-07 14:19               ` [Qemu-devel] [PATCH] spice: require spice-protocol >= 0.8.1 Alon Levy
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2012-03-07 13:54 UTC (permalink / raw)
  To: Gerd Hoffmann, Peter Maydell, Rusty Russell, qemu-devel

On 7 March 2012 13:01, Alon Levy <alevy@redhat.com> wrote:
>
> diff --git a/configure b/configure
> index a5eb832..ecdfe9a 100755
> --- a/configure
> +++ b/configure
> @@ -2544,6 +2544,7 @@ EOF
>   spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
>   spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
>   if $pkg_config --atleast-version=0.8.2 spice-server >/dev/null 2>&1 && \
> +     $pkg_config --atleast-version=0.8.1 spice-protocol > /dev/null 2>&1 && \
>      compile_prog "$spice_cflags" "$spice_libs" ; then
>     spice="yes"
>     libs_softmmu="$libs_softmmu $spice_libs"

I've confirmed that this change (a) disables spice on the Oneiric system that
was failing to compile and (b) doesn't disable spice on Precise.

Could you submit it as a proper patch with a commit message and
a signed-off-by line?

Thanks
-- PMM

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

* [Qemu-devel] [PATCH] spice: require spice-protocol >= 0.8.1
  2012-03-07 13:54             ` Peter Maydell
@ 2012-03-07 14:19               ` Alon Levy
  0 siblings, 0 replies; 10+ messages in thread
From: Alon Levy @ 2012-03-07 14:19 UTC (permalink / raw)
  To: qemu-devel, kraxel; +Cc: peter.maydell

Requiring spice-server >= 0.8.2 is not enough since spice-server.pc
doesn't require spice-protocol (any version). Until that is fixed
upstream an explicit requirement in qemu fixes compilation broken since

commit 2e1a98c9c1b90ca093278c6b43244dc46604d7b7
Author: Alon Levy <alevy@redhat.com>
Date:   Fri Feb 24 23:19:30 2012 +0200

    qxl: introduce QXLCookie

Reported-by: Peter Maydell <peter.maydell@linaro.org>

Signed-off-by: Alon Levy <alevy@redhat.com>
---
 configure |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index a5eb832..ecdfe9a 100755
--- a/configure
+++ b/configure
@@ -2544,6 +2544,7 @@ EOF
   spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
   spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
   if $pkg_config --atleast-version=0.8.2 spice-server >/dev/null 2>&1 && \
+     $pkg_config --atleast-version=0.8.1 spice-protocol > /dev/null 2>&1 && \
      compile_prog "$spice_cflags" "$spice_libs" ; then
     spice="yes"
     libs_softmmu="$libs_softmmu $spice_libs"
-- 
1.7.9.1

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

end of thread, other threads:[~2012-03-07 14:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-08  0:17 [Qemu-devel] [PATCH] configure: ignore spice libraries on 32 bit Rusty Russell
2012-02-08 15:22 ` Gerd Hoffmann
2012-03-07 10:30   ` Peter Maydell
2012-03-07 11:38     ` Gerd Hoffmann
2012-03-07 11:45       ` Peter Maydell
2012-03-07 12:33       ` Peter Maydell
2012-03-07 12:43         ` Gerd Hoffmann
2012-03-07 13:01           ` Alon Levy
2012-03-07 13:54             ` Peter Maydell
2012-03-07 14:19               ` [Qemu-devel] [PATCH] spice: require spice-protocol >= 0.8.1 Alon Levy

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).