Rework clock_gettime() test The test for clock_gettime() in configure.ac doesn't work properly when a previous package has loaded the shared configuration cache with informations about the availability of clock_gettime. A package such as ctorrent does so, which means that compiling ctorrent *then* libglib2 currently fails. According to people on the Autoconf mailing list, the libglib2 test is likely the one that needs to be fixed. The problem is that the AC_CHECK_FUNCS() test assumes that if it finds clock_gettime() it means that there's no need to add any -lrt flag to the build. Unfortunately, due to the shared configuration cache, this test is already done with -lrt, so the test succeeds, and libglib2 does not know that it needs to add -lrt to G_THREAD_LIBS and G_THREAD_LIBS_FOR_GTHREAD. So instead, we remplace the test with an AC_SEARCH_LIBS() test, followed by a test on the result of this AC_SEARCH_LIBS() test to add the necessary -lrt to G_THREAD_LIBS and G_THREAD_LIBS_FOR_GTHREAD. Therefore, even if the result for the AC_SEARCH_LIBS() test is cached due to the prior execution ctorrent ./configure script, libglib2 ./configure will properly add -lrt to the appropriate variables. Signed-off-by: Thomas Petazzoni --- configure.ac | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) Index: glib-2.26.0/configure.ac =================================================================== --- glib-2.26.0.orig/configure.ac +++ glib-2.26.0/configure.ac @@ -2379,13 +2379,14 @@ LIBS="$glib_save_LIBS" fi -AC_CHECK_FUNCS(clock_gettime, [], [ - AC_CHECK_LIB(rt, clock_gettime, [ - AC_DEFINE(HAVE_CLOCK_GETTIME, 1) +AC_SEARCH_LIBS([clock_gettime], [rt], [ + AC_DEFINE(HAVE_CLOCK_GETTIME, 1,[Have clock_gettime]) +]) + +if test "$ac_cv_search_clock_gettime" = "-lrt"; then G_THREAD_LIBS="$G_THREAD_LIBS -lrt" G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS_FOR_GTHREAD -lrt" - ]) -]) +fi AC_CACHE_CHECK(for monotonic clocks, glib_cv_monotonic_clock,AC_COMPILE_IFELSE([AC_LANG_SOURCE([[