From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51573) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RTeAs-0002Va-LT for qemu-devel@nongnu.org; Thu, 24 Nov 2011 13:37:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RTeAr-000842-6p for qemu-devel@nongnu.org; Thu, 24 Nov 2011 13:37:30 -0500 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:43969) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RTeAr-00083w-28 for qemu-devel@nongnu.org; Thu, 24 Nov 2011 13:37:29 -0500 Message-ID: <4ECE8EB2.4090301@weilnetz.de> Date: Thu, 24 Nov 2011 19:36:34 +0100 From: Stefan Weil MIME-Version: 1.0 References: <4ECD4C45.6000802@weilnetz.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Latest QEMU does not support --enable-check-utests on Debian with --enable-pie (default) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: QEMU Developers , Avi Kivity Am 24.11.2011 09:00, schrieb Markus Armbruster: > Stefan Weil writes: > > >> This is my configuration and the output from configure: >> >> configure '--audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus,hda' >> --audio-drv-list=alsa,sdl,oss,esd,pa' '--enable-mixemu' >> --enable-check-utests' '--enable-vnc-thread' >> ERROR >> ERROR: User requested feature check >> ERROR: configure was not able to find it >> ERROR >> > Works for me, see appended log. > > >> This is what configure does internally: >> >> gcc -fPIE -DPIE -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE >> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes >> -Wredundant-decls -Wmissing-format-attribute -Wall -Wundef >> -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing >> -fstack-protector-all -Wendif-labels -Wmissing-include-dirs >> -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k >> -Winit-self -Wignored-qualifiers -Wold-style-declaration >> -Wold-style-definition -Wtype-limits -I/usr/include/libpng12 -o >> /tmp/qemu-conf--4272-.exe /tmp/qemu-conf--4272-.c -Wl,-z,relro >> -Wl,-z,now -pie -m64 -g -lcheck >> /usr/bin/ld: >> /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libcheck.a(check.o): >> relocation R_X86_64_32 against `.rodata.str1.1' can not be used when >> making a shared object; recompile with -fPIC >> /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libcheck.a: could >> not read symbols: Bad value >> >> When I add --disable-pie, configure works. >> > You can't link non-PIC code like libcheck.a into a PIE. Do you have > libcheck.so? > Debian squeeze has libcheck.a and libcheck_pic.a, but no libcheck.so in package 'check'. There are other files names *_pic.a, and obviously those libraries are to be linked to a PIE. If I use -lcheck_pic, building PIEs works. Maybe configure must be extended to try library names with an additional _pic for PIE. Regards, Stefan Weil