Re: [PATCH] make: link udevd with -lrt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 12 Feb 2012 22:10:34 +0100
Kay Sievers <kay.sievers@xxxxxxxx> wrote:

> On Wed, Feb 1, 2012 at 21:22, Natanael Copa <ncopa@xxxxxxxxxxxxxxx>
> wrote:
> > sd-daemon.c uses mq_getattr() and should link with -lrt as the
> > man mq_getattr(3) states.
> 
> Something seems wrong on your system. The:
>   AC_SEARCH_LIBS([clock_gettime], [rt], ...
> in configure.ac should take care of that, and puts this in Makefile:
>   LIBS = -lrt
>   ...
>   $(AM_V_CCLD)$(src_udevd_LINK) $(src_udevd_OBJECTS)
> $(src_udevd_LDADD) $(LIBS)
> 
> Kay


configure:12437: checking for library containing clock_gettime
configure:12468: ccache gcc -o conftest -march=i486 -Os -fomit-frame-pointer -pipe -march=i486 -Os -fomit-frame-pointer -pipe -Wl,--as-needed conftest.c  >&5
configure:12468: $? = 0
configure:12485: result: none required

$ nm -D /lib/libc.so.0.9.32 | grep clock_gettime
0000000000010b08 T clock_gettime
$ nm -D /lib/librt.so.0.9.32 | grep clock_gettime
00000000000023c0 T clock_gettime

So what is "wrong" on my system is that uClibc provides 2 different
versions of clock_gettime. One is with the threading additions and one
is without. This makes it possible to use clock_gettime() without
linking in the entire libpthread unless you actually use those
additions.

The configure script will test if -lrt is needed by checking
clock_gettime() and bumps into this "feature" and thinks it does not
need to add the -lrt flag. However, it also uses mq_getattr() which
does require -lrt.

We should probably check for mq_getattr() instead of clock_gettime().

Thanks!

-nc
--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux