From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:58084) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qdm5E-0004C5-0L for qemu-devel@nongnu.org; Mon, 04 Jul 2011 12:33:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qdm5C-0002T8-6a for qemu-devel@nongnu.org; Mon, 04 Jul 2011 12:33:15 -0400 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:39358) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qdm5B-0002So-Nf for qemu-devel@nongnu.org; Mon, 04 Jul 2011 12:33:13 -0400 Message-ID: <4E11EB46.8040100@mail.berlios.de> Date: Mon, 04 Jul 2011 18:33:10 +0200 From: Stefan Weil MIME-Version: 1.0 References: <20110704000418.E69F5BF74@buildbot.b1-systems.de> <60735B28-FEA2-4EC5-9AB3-E8538E99C03A@suse.de> <4E1154ED.6020700@mail.berlios.de> <3CD449BF-DCA6-4853-93B7-EF2E9A145570@suse.de> In-Reply-To: <3CD449BF-DCA6-4853-93B7-EF2E9A145570@suse.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] buildbot failure in qemu on disable_kvm_x86_64_debian_5_0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org Developers" Cc: Stefan Hajnoczi , Daniel Gollub , Alexander Graf Am 04.07.2011 11:21, schrieb Alexander Graf: > > On 04.07.2011, at 07:51, Stefan Weil wrote: > >> Am 04.07.2011 06:23, schrieb Stefan Hajnoczi: >>> On Mon, Jul 4, 2011 at 12:47 AM, Alexander Graf wrote: >>>> >>>> On 04.07.2011, at 02:04, qemu@buildbot.b1-systems.de wrote: >>>> >>>>> The Buildbot has detected a new failure on builder >>>>> disable_kvm_x86_64_debian_5_0 while building qemu. >>>>> Full details are available at: >>>>> http://buildbot.b1-systems.de/qemu/builders/disable_kvm_x86_64_debian_5_0/builds/148 >>>>> >>>>> Buildbot URL: http://buildbot.b1-systems.de/qemu/ >>>>> >>>>> Buildslave for this Build: b1_qemu_1 >>>>> >>>>> Build Reason: The Nightly scheduler named 'nightly_disable_kvm' >>>>> triggered this build >>>>> Build Source Stamp: [branch master] HEAD >>>>> Blamelist: >>>>> >>>>> BUILD FAILED: failed compile >>>> >>>> In file included from /usr/include/png.h:438, >>>> from ui/vnc-enc-tight.c:40: >>>> /usr/include/pngconf.h:326: error: expected '=', ',', ';', 'asm' or >>>> '__attribute__' before '.' token >>>> /usr/include/pngconf.h:327: error: expected '=', ',', ';', 'asm' or >>>> '__attribute__' before 'include' >>>> make: *** [ui/vnc-enc-tight.o] Error 1 >>>> >>>> program finished with exit code 2 >>>> >>>> >>>> Not sure what exactly is missing, but the last change in that code >>>> was from Stefan Weil (2fb0c09f4ff036f68474277ed4edc036f6529de8). >>> >>> Daniel, >>> Would it be possible to post the contents of /usr/include/pngconf.h >>> from b1_qemu_1? I checked my local copy and I don't understand these >>> compiler errors. Perhaps you have a different version of the file. >>> >>> Thanks, >>> Stefan >> >> The compiler errors come again from the setjmp check in pngconf.h: >> >> __pngconf.h__ in libpng already includes setjmp.h; >> __dont__ include it again.; >> >> The buildbot runs Debian Lenny which includes an old version of libpng. >> That version does not use PNG_SKIP_SETJMP_CHECK to skip the setjmp check. >> Defining PNG_SETJMP_NOT_SUPPORTED might help with this >> version, but I still have to test that. >> >> Updating the buildbot to Debian Squeeze would also work. > > So it's a real bug and a good thing the buildbot is running on Lenny. > Maybe we should add the define and #include setjmp.h to configure, so > at least that one fails when compilation wouldn't work either? > > > Alex It's a real bug, or at least an incompatibility with libpng. It can be fixed in several ways, for example these: 1 Don't use libpng because it restricts usage of setjmp.h and raises confusing compiler errors instead of a clear #error. Code which needs libpng would have to be removed. 2 Don't use libpng if it fails to accepts the current code (setjmp.h before png.h). This needs a small modification of the libpng check in configure. 3 Define PNG_SETJMP_NOT_SUPPORTED, so Debian Lenny's libpng works, too. Enhancing the libpng in check in configure would be reasonable to avoid more surprises with other variants of libpng. 4 Remove setjmp.h from qemu-common.h. I expected that I would have to add setjmp.h in some source files after this operation, but was surprised that this was not needed. I suggest solution 4 because it is simple, and it also avoids an unnecessary inclusion of setjmp.h in nearly all compiler invocations. Optionally, commit 2fb0c09f4ff036f68474277ed4edc036f6529de8 can be reverted then to detect any use of setjmp.h before png.h. Regards, Stefan