diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc index d52ebf06421c..f33fd9036e61 100644 --- a/src/libstore/build/local-derivation-goal.cc +++ b/src/libstore/build/local-derivation-goal.cc @@ -929,8 +929,13 @@ void LocalDerivationGoal::startBuilder() options.cloneFlags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | CLONE_PARENT | SIGCHLD; if (privateNetwork) options.cloneFlags |= CLONE_NEWNET; - if (usingUserNamespace) + if (usingUserNamespace) { + if (getgroups(0, NULL) != 0) { + warn("user namespace enabled, but we weren't able to drop supplementary groups; " + "this can break some builds. consider using the nix daemon."); + } options.cloneFlags |= CLONE_NEWUSER; + } pid_t child = startProcess([&]() { runChild(); }, options);