qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] buildbot failure in qemu on default_x86_64_out_of_tree
@ 2011-06-26 23:03 qemu
  2011-06-27  5:29 ` [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png Stefan Weil
  0 siblings, 1 reply; 8+ messages in thread
From: qemu @ 2011-06-26 23:03 UTC (permalink / raw)
  To: gollub, qemu-devel

The Buildbot has detected a new failure on builder default_x86_64_out_of_tree while building qemu.
Full details are available at:
 http://buildbot.b1-systems.de/qemu/builders/default_x86_64_out_of_tree/builds/137

Buildbot URL: http://buildbot.b1-systems.de/qemu/

Buildslave for this Build: yuzuki

Build Reason: The Nightly scheduler named 'nightly_default' triggered this build
Build Source Stamp: [branch master] HEAD
Blamelist: 

BUILD FAILED: failed compile

sincerely,
 -The Buildbot


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

* [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png
  2011-06-26 23:03 [Qemu-devel] buildbot failure in qemu on default_x86_64_out_of_tree qemu
@ 2011-06-27  5:29 ` Stefan Weil
  2011-06-27  5:44   ` Stefan Weil
                     ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Stefan Weil @ 2011-06-27  5:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: Blue Swirl

Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation
with --enable-vnc-png, but broke it with --enable-vnc-png.

The breakage is caused by pngconfig.h which checks whether
setjmp.h was already included and fails because qemu-common.h
includes setjmp.h.

The check is disabled by defining PNG_SKIP_SETJMP_CHECK.

Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 ui/vnc-enc-tight.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/ui/vnc-enc-tight.c b/ui/vnc-enc-tight.c
index 6d36a7f..5c02803 100644
--- a/ui/vnc-enc-tight.c
+++ b/ui/vnc-enc-tight.c
@@ -34,6 +34,9 @@
 #include "qemu-common.h"
 
 #ifdef CONFIG_VNC_PNG
+/* The following define is needed by pngconf.h. Otherwise it won't compile,
+   because setjmp.h was already included by qemu-common.h. */
+#define PNG_SKIP_SETJMP_CHECK
 #include <png.h>
 #endif
 #ifdef CONFIG_VNC_JPEG
-- 
1.7.2.5

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

* Re: [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png
  2011-06-27  5:29 ` [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png Stefan Weil
@ 2011-06-27  5:44   ` Stefan Weil
  2011-06-27 15:51     ` Anthony Liguori
  2011-06-27  6:07   ` Jan Kiszka
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Stefan Weil @ 2011-06-27  5:44 UTC (permalink / raw)
  To: Blue Swirl; +Cc: qemu-devel

Am 27.06.2011 07:29, schrieb Stefan Weil:
> Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation
> with --enable-vnc-png, but broke it with --enable-vnc-png.

should be

with --enable-vnc-jpeg, but broke it with --enable-vnc-png.

Please fix this detail before applying the patch.

Thanks,
Stefan

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

* Re: [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png
  2011-06-27  5:29 ` [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png Stefan Weil
  2011-06-27  5:44   ` Stefan Weil
@ 2011-06-27  6:07   ` Jan Kiszka
  2011-06-27  6:10   ` Stefan Hajnoczi
  2011-06-27  6:59   ` Markus Armbruster
  3 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2011-06-27  6:07 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Blue Swirl, qemu-devel

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

On 2011-06-27 07:29, Stefan Weil wrote:
> Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation
> with --enable-vnc-png, but broke it with --enable-vnc-png.
> 
> The breakage is caused by pngconfig.h which checks whether
> setjmp.h was already included and fails because qemu-common.h
> includes setjmp.h.
> 
> The check is disabled by defining PNG_SKIP_SETJMP_CHECK.

Did you check if "You can bypass this test if you know that your
application uses exactly the same setjmp.h that was included when libpng
was built." (from /usr/include/pngconf.h) applies for us in all
supported cases?

Jan

> 
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> ---
>  ui/vnc-enc-tight.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/ui/vnc-enc-tight.c b/ui/vnc-enc-tight.c
> index 6d36a7f..5c02803 100644
> --- a/ui/vnc-enc-tight.c
> +++ b/ui/vnc-enc-tight.c
> @@ -34,6 +34,9 @@
>  #include "qemu-common.h"
>  
>  #ifdef CONFIG_VNC_PNG
> +/* The following define is needed by pngconf.h. Otherwise it won't compile,
> +   because setjmp.h was already included by qemu-common.h. */
> +#define PNG_SKIP_SETJMP_CHECK
>  #include <png.h>
>  #endif
>  #ifdef CONFIG_VNC_JPEG


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

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

* Re: [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png
  2011-06-27  5:29 ` [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png Stefan Weil
  2011-06-27  5:44   ` Stefan Weil
  2011-06-27  6:07   ` Jan Kiszka
@ 2011-06-27  6:10   ` Stefan Hajnoczi
  2011-06-27  6:19     ` Jan Kiszka
  2011-06-27  6:59   ` Markus Armbruster
  3 siblings, 1 reply; 8+ messages in thread
From: Stefan Hajnoczi @ 2011-06-27  6:10 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Blue Swirl, qemu-devel

On Mon, Jun 27, 2011 at 6:29 AM, Stefan Weil <weil@mail.berlios.de> wrote:
> Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation
> with --enable-vnc-png, but broke it with --enable-vnc-png.
>
> The breakage is caused by pngconfig.h which checks whether
> setjmp.h was already included and fails because qemu-common.h
> includes setjmp.h.
>
> The check is disabled by defining PNG_SKIP_SETJMP_CHECK.
>
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> ---
>  ui/vnc-enc-tight.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>

Some more info on why Stefan Weil's fix is correct:

The setjmp(3) man page says,

"POSIX  does  not  specify  whether  setjmp()  will  save the signal
mask.  In System V it will not.  In 4.3BSD it will, and there is a
function _setjmp that will not.  By default, Linux/glibc follows the
System V behavior, but the BSD behavior is provided if the
_BSD_SOURCE  feature  test  macro  is  defined  and  none  of
_POSIX_SOURCE,  _POSIX_C_SOURCE, _XOPEN_SOURCE,
_XOPEN_SOURCE_EXTENDED, _GNU_SOURCE, or _SVID_SOURCE is defined."

Apparently libpng wants to make sure that the setjmp() which will not
save signal masks is used on Linux.  The problem is that Linux
supports both versions and jmp_buf is part of the libpng API.  That
means the application and the library need to agree on which setjmp()
semantics will be used.

That said, QEMU doesn't seem to make use of the jmp_buf API in libpng,
so this really shouldn't matter at all.  We can skip the header check.

Stefan

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

* Re: [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png
  2011-06-27  6:10   ` Stefan Hajnoczi
@ 2011-06-27  6:19     ` Jan Kiszka
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2011-06-27  6:19 UTC (permalink / raw)
  To: Stefan Hajnoczi, Stefan Weil; +Cc: Blue Swirl, qemu-devel

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

On 2011-06-27 08:10, Stefan Hajnoczi wrote:
> On Mon, Jun 27, 2011 at 6:29 AM, Stefan Weil <weil@mail.berlios.de> wrote:
>> Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation
>> with --enable-vnc-png, but broke it with --enable-vnc-png.
>>
>> The breakage is caused by pngconfig.h which checks whether
>> setjmp.h was already included and fails because qemu-common.h
>> includes setjmp.h.
>>
>> The check is disabled by defining PNG_SKIP_SETJMP_CHECK.
>>
>> Cc: Blue Swirl <blauwirbel@gmail.com>
>> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
>> ---
>>  ui/vnc-enc-tight.c |    3 +++
>>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> 
> Some more info on why Stefan Weil's fix is correct:
> 
> The setjmp(3) man page says,
> 
> "POSIX  does  not  specify  whether  setjmp()  will  save the signal
> mask.  In System V it will not.  In 4.3BSD it will, and there is a
> function _setjmp that will not.  By default, Linux/glibc follows the
> System V behavior, but the BSD behavior is provided if the
> _BSD_SOURCE  feature  test  macro  is  defined  and  none  of
> _POSIX_SOURCE,  _POSIX_C_SOURCE, _XOPEN_SOURCE,
> _XOPEN_SOURCE_EXTENDED, _GNU_SOURCE, or _SVID_SOURCE is defined."
> 
> Apparently libpng wants to make sure that the setjmp() which will not
> save signal masks is used on Linux.  The problem is that Linux
> supports both versions and jmp_buf is part of the libpng API.  That
> means the application and the library need to agree on which setjmp()
> semantics will be used.
> 
> That said, QEMU doesn't seem to make use of the jmp_buf API in libpng,
> so this really shouldn't matter at all.  We can skip the header check.

That sounds good. Please adjust the comment that this patch introduces.

Jan



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

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

* Re: [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png
  2011-06-27  5:29 ` [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png Stefan Weil
                     ` (2 preceding siblings ...)
  2011-06-27  6:10   ` Stefan Hajnoczi
@ 2011-06-27  6:59   ` Markus Armbruster
  3 siblings, 0 replies; 8+ messages in thread
From: Markus Armbruster @ 2011-06-27  6:59 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Blue Swirl, qemu-devel

Stefan Weil <weil@mail.berlios.de> writes:

> Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation
> with --enable-vnc-png, but broke it with --enable-vnc-png.

You mean "with --enable-vnc-jpeg, but", don't you?

> The breakage is caused by pngconfig.h which checks whether
> setjmp.h was already included and fails because qemu-common.h
> includes setjmp.h.
>
> The check is disabled by defining PNG_SKIP_SETJMP_CHECK.
[...]

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

* Re: [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png
  2011-06-27  5:44   ` Stefan Weil
@ 2011-06-27 15:51     ` Anthony Liguori
  0 siblings, 0 replies; 8+ messages in thread
From: Anthony Liguori @ 2011-06-27 15:51 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Blue Swirl, qemu-devel

On 06/27/2011 12:44 AM, Stefan Weil wrote:
> Am 27.06.2011 07:29, schrieb Stefan Weil:
>> Commit f26e428da505709ec03b2ed2c9eb3db82b30bd7b fixed compilation
>> with --enable-vnc-png, but broke it with --enable-vnc-png.
>
> should be
>
> with --enable-vnc-jpeg, but broke it with --enable-vnc-png.
>
> Please fix this detail before applying the patch.

Applied.  Thanks.

Regards,

Anthony Liguori

>
> Thanks,
> Stefan
>
>

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

end of thread, other threads:[~2011-06-27 15:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-26 23:03 [Qemu-devel] buildbot failure in qemu on default_x86_64_out_of_tree qemu
2011-06-27  5:29 ` [Qemu-devel] [PATCH] vnc: Fix compilation with --enable-vnc-png Stefan Weil
2011-06-27  5:44   ` Stefan Weil
2011-06-27 15:51     ` Anthony Liguori
2011-06-27  6:07   ` Jan Kiszka
2011-06-27  6:10   ` Stefan Hajnoczi
2011-06-27  6:19     ` Jan Kiszka
2011-06-27  6:59   ` Markus Armbruster

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