[libvirt] [BUG] EPOLL_CLOEXEC undeclared
Eric Blake
eblake at redhat.com
Thu Jan 19 20:38:22 UTC 2012
On 01/18/2012 01:01 AM, Philipp Hahn wrote:
> Hello Eric,
>
> Eric Blake <eblake at redhat.com> wrote:
>> On 01/17/2012 04:42 AM, Philipp Hahn wrote:
>> And what kernel is that system running?
>
> 2.6.32
That's an unusual mix, where the syscall exists (since 2.6.27) but libc
is too old to use the syscall.
>
>> We already refuse to compile
>> lxc for RHEL 5 (kernel 2.6.18), as that particular kernel is too old to
>> usefully support namespace and other operations required by lxc.
>
> I haven't used lxc on that particular system, but only tried to comile
> that newer version. configure did detect lxc itself and then failed
> building it, so that was the only thing to get me started looking at
> that issue. Since I don't need lxc on that system, I'm fine with just
> disabling lxc.
Then how about this patch:
From 330f666036943a0fc423a4b5db2ca294fb2a4298 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake at redhat.com>
Date: Thu, 19 Jan 2012 13:35:39 -0700
Subject: [PATCH] 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 by Philipp Hahn.
---
configure.ac | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 729ba9b..02d60d0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -734,16 +734,17 @@ if test "$with_lxc" = "yes" || test "$with_lxc" =
"check"; then
AC_TRY_LINK([
#include <sched.h>
#include <linux/loop.h>
+ #include <sys/epoll.h>
], [
- unshare (!LO_FLAGS_AUTOCLEAR);
+ unshare (!(LO_FLAGS_AUTOCLEAR + EPOLL_CLOEXEC));
], [
with_lxc=yes
], [
if test "$with_lxc" = "check"; then
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
- 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
--
1.7.7.5
--
Eric Blake eblake at redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120119/f729fee8/attachment-0001.sig>
More information about the libvir-list
mailing list