qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]