On 09/04/2012 09:26 AM, Eric Blake wrote: > On 09/04/2012 09:04 AM, Jasper Lievisse Adriaanse wrote: >> >From bdf3bce37531ec346474bc5c4f37a5d2985d1d35 Mon Sep 17 00:00:00 2001 >> From: Jasper Lievisse Adriaanse <jasper@xxxxxxxxx> >> Date: Tue, 4 Sep 2012 17:03:43 +0200 >> Subject: [PATCH] Don't link with -lrt on OpenBSD >> >> --- >> configure.ac | 8 +++++++- >> 1 files changed, 7 insertions(+), 1 deletions(-) > > I'd much rather write this as a probe to see if linking with -rt makes a > difference, and only add it when it matters, than trying to blindly add > it (the pre-patch version) or to blindly exclude it for some platforms > (the post-patch version). I also wonder if gnulib has some help on this > front. NACK to this version while I investigate. In fact, gnulib already provides the LGPLv2+ clock-time module for clock_gettime and clock_settime, with an appropriate link library $(LIB_CLOCK_GETTIME) that is set to -lrt when necessary. Does this patch work for you? From d74e5a4dfc434d3a1d01856d013a7f50d910fa95 Mon Sep 17 00:00:00 2001 From: Eric Blake <eblake@xxxxxxxxxx> Date: Tue, 4 Sep 2012 10:57:25 -0600 Subject: [PATCH] build: use correct libraries for clock_gettime On OpenBSD, clock_gettime() exists in libc rather than librt, and blindly linking with -lrt made the build fail. Gnulib already did the work for determining which libraries to use, so we should reuse that work rather than doing it ourselves. * bootstrap.conf (gnulib_modules): Pull in clock-time. * configure.ac (RT_LIBS): Drop. * src/Makefile.am (libvirt_util_la_LIBADD): Use gnulib variable instead. * src/util/virtime.c (includes): Simplify. --- bootstrap.conf | 1 + configure.ac | 10 ---------- src/Makefile.am | 2 +- src/util/virtime.c | 6 ++---- 4 files changed, 4 insertions(+), 15 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index a6cfe24..7fefb69 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -30,6 +30,7 @@ c-strcasestr calloc-posix canonicalize-lgpl chown +clock-time close connect configmake diff --git a/configure.ac b/configure.ac index e0d00d5..cb91e7d 100644 --- a/configure.ac +++ b/configure.ac @@ -183,16 +183,6 @@ LIBS="$LIBS $LIB_PTHREAD $LIBMULTITHREAD" AC_CHECK_FUNCS([pthread_mutexattr_init]) LIBS=$old_libs -old_LIBS=$LIBS -RT_LIBS= -LIBS="$LIBS $LIB_PTHREAD -lrt" -AC_CHECK_FUNC([clock_gettime],[ - AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Defined if clock_gettime() exists in librt.so]) - RT_LIBS=-lrt -]) -LIBS=$old_libs -AC_SUBST(RT_LIBS) - dnl Availability of various common headers (non-fatal if missing). AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/un.h \ sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \ diff --git a/src/Makefile.am b/src/Makefile.am index 95e1bea..39adeac 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -668,7 +668,7 @@ libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \ $(DBUS_CFLAGS) $(LDEXP_LIBM) libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \ $(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \ - $(RT_LIBS) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) + $(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) noinst_LTLIBRARIES += libvirt_conf.la diff --git a/src/util/virtime.c b/src/util/virtime.c index 926bb50..d34e8ab 100644 --- a/src/util/virtime.c +++ b/src/util/virtime.c @@ -1,7 +1,7 @@ /* * virtime.c: Time handling functions * - * Copyright (C) 2006-2011 Red Hat, Inc. + * Copyright (C) 2006-2012 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -34,9 +34,7 @@ #include <config.h> #include <stdio.h> -#ifndef HAVE_CLOCK_GETTIME -# include <sys/time.h> -#endif +#include <sys/time.h> #include "virtime.h" #include "util.h" -- 1.7.11.4 -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list