From: Serge Hallyn Date: Wed, 3 Jun 2015 05:03:39 +0000 (+0000) Subject: detect whether cgmanager_list_controllers is available X-Git-Tag: lxc-1.1.3~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=89c80fbd1a0b67992c5da39d8f83f1dcf8298113;p=thirdparty%2Flxc.git detect whether cgmanager_list_controllers is available and don't use it if not. This fixes failure to build with older cgmanager. Signed-off-by: Serge Hallyn Acked-by: Stéphane Graber --- diff --git a/configure.ac b/configure.ac index 574b2cd0b..153096d69 100644 --- a/configure.ac +++ b/configure.ac @@ -284,6 +284,17 @@ else AC_MSG_RESULT([no]) fi +AC_MSG_CHECKING(for cgmanager_list_controllers) +save_LIBS=$LIBS +AC_SEARCH_LIBS([cgmanager_list_controllers_sync], [cgmanager], [have_list_controllers=yes], [have_list_controllers=no], [-lnih -lnih-dbus -ldbus-1]) +LIBS=$save_LIBS +if test "x$have_list_controllers" = "xyes"; then + AC_DEFINE([HAVE_CGMANAGER_LIST_CONTROLLERS], 1, [Have cgmanager_list_controllers]) + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + # Check for static libcap, make sure the function checked for differs from the # the one checked below so the cache doesn't give a wrong answer OLD_CFLAGS="$CFLAGS" diff --git a/src/lxc/cgmanager.c b/src/lxc/cgmanager.c index 6b6c2d878..6df530ca5 100644 --- a/src/lxc/cgmanager.c +++ b/src/lxc/cgmanager.c @@ -818,6 +818,7 @@ out: return pids_len; } +#if HAVE_CGMANAGER_LIST_CONTROLLERS static bool lxc_list_controllers(char ***list) { if (!cgm_dbus_connect()) { @@ -836,6 +837,12 @@ static bool lxc_list_controllers(char ***list) cgm_dbus_disconnect(); return true; } +#else +static bool lxc_list_controllers(char ***list) +{ + return false; +} +#endif static inline void free_abs_cgroup(char *cgroup) {