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