diff --git a/configure.ac b/configure.ac index 7b8c36f1..d5e85812 100644 --- a/configure.ac +++ b/configure.ac @@ -90,6 +90,7 @@ AC_LANG_POP(C++) # Check for chroot support (requires chroot() and bind mounts). AC_CHECK_FUNCS([chroot]) +AC_CHECK_FUNCS([unshare]) AC_CHECK_HEADERS([sched.h], [], [], []) AC_CHECK_HEADERS([sys/param.h], [], [], []) AC_CHECK_HEADERS([sys/mount.h], [], [], diff --git a/src/libstore/build.cc b/src/libstore/build.cc index d4c5b81d..8d06a66f 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -34,13 +34,10 @@ #include #endif #if HAVE_SCHED_H -#if !defined _GNU_SOURCE -#define _GNU_SOURCE -#endif #include #endif -#define CHROOT_ENABLED HAVE_CHROOT && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(CLONE_NEWNS) +#define CHROOT_ENABLED HAVE_CHROOT && HAVE_UNSHARE && HAVE_SYS_MOUNT_H && defined(MS_BIND) && defined(CLONE_NEWNS) namespace nix {