[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] configure: properly check if -lrt and -lm is
From: |
Natanael Copa |
Subject: |
Re: [Qemu-devel] [PATCH v2] configure: properly check if -lrt and -lm is needed |
Date: |
Mon, 20 Aug 2012 16:33:45 +0200 |
On Mon, Aug 20, 2012 at 3:27 PM, Peter Maydell <address@hidden> wrote:
> On 16 August 2012 14:22, Natanael Copa <address@hidden> wrote:
>> Fixes build against uClibc.
>>
>> uClibc provides 2 versions of clock_gettime(), one with realtime
>> support and one without (this is so you can avoid linking in -lrt
>> unless actually needed). This means that the clock_gettime() don't
>> need -lrt. We still need it for timer_create() so we check for this
>> function in addition.
>>
>> We also need check if -lm is needed for isnan().
>>
>> Both -lm and -lrt are needed for libs_qga.
>
> This patch breaks building the linux-user targets with --static:
>
> cam-vm-266:precise:qemu$ ./configure --target-list=arm-linux-user --static
>
> Error: librt check failed
>
>
> The test program is failing to link with this
> /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/librt.a(timer_create.o):
> In function `timer_create':
> (.text+0x121): undefined reference to `pthread_once'
>
> and a lot of similar errors.
smells missing -lpthread.
> (This seems to me like a glibc bug but since it's out there we rather
> have to deal with it I think.)
Agree.
Will configure pass if you:
--- a/configure
+++ b/configure
@@ -2661,6 +2661,10 @@ if compile_prog "" "" ; then
elif compile_prog "" "-lrt" ; then
LIBS="-lrt $LIBS"
libs_qga="-lrt $libs_qga"
+# we might need -lpthread in case static linking on glibc
+elif compile_prog "" "-lrt -lpthread" ; then
+ LIBS="-lrt -lpthread $LIBS"
+ libs_qga="-lrt -lpthread $libs_qga"
else
echo
echo "Error: librt check failed"
Thanks for feedback!
--
Natanael Copa