build: skip lxc with too-old glibc

Since we already require the kernel to be new enough to support
LO_FLAGS_AUTOCLEAR, we might as well also require glibc to be
new enough to support epoll_create1().

* configure.ac (with_lxc): We require glibc 2.9 for LXC.
Reported and tested by Philipp Hahn.
This commit is contained in:
Eric Blake 2012-01-19 13:35:39 -07:00
parent 549cedc6a9
commit 4c18acffd7

View File

@ -734,16 +734,17 @@ if test "$with_lxc" = "yes" || test "$with_lxc" = "check"; then
AC_TRY_LINK([ AC_TRY_LINK([
#include <sched.h> #include <sched.h>
#include <linux/loop.h> #include <linux/loop.h>
#include <sys/epoll.h>
], [ ], [
unshare (!LO_FLAGS_AUTOCLEAR); unshare (!(LO_FLAGS_AUTOCLEAR + EPOLL_CLOEXEC));
], [ ], [
with_lxc=yes with_lxc=yes
], [ ], [
if test "$with_lxc" = "check"; then if test "$with_lxc" = "check"; then
with_lxc=no with_lxc=no
AC_MSG_NOTICE([Function unshare() not present in <sched.h> header but required for LXC driver, disabling it]) AC_MSG_NOTICE([Required kernel features were not found, disabling LXC])
else else
AC_MSG_ERROR([Function unshare() not present in <sched.h> header, but required for LXC driver]) AC_MSG_ERROR([Required kernel features for LXC were not found])
fi fi
]) ])
fi fi