Ludovic Courtès writes: >> -#if CHROOT_ENABLED >> +#if CHROOT_ENABLED || __GNU__ > > Can we instead change the #define CHROOT_ENABLED such that > CHROOT_ENABLED is always true when __GNU__? Also with a comment stating > that GNU supports chroot(2) without being root. I tried a couple of things and then remembered a patch by Manolis that already does something like this; but nicer. So, I am now using that patch and am only keeping this hack in the second patch (both attached) >> +#if !__GNU__ >> int status = pid.wait(true); >> if (status != 0) >> throw Error(format("cannot kill processes for uid `%1%': %2%") % uid % statusToString(status)); >> +#endif > > Do you know what the rationale was? It looks like it could leave > zombies behind us. No, maybe Manolis knows? What I do know is why I used the patch: before applying this patch I could only build up to binutils-boot0. binutils-boot0 would always fail like so ./pre-inst-env guix build -e '(@@ (gnu packages commencement) binutils-boot0)' --no-offload XXX fails: Workaround for nix daemon phase `compress-documentation' succeeded after 0.4 seconds error: cannot kill processes for uid `999': Operation not permitted guix build: error: cannot kill processes for uid `999': failed with exit code 1 I haven't been seeing zombies but I'll watch for them now; don't know what's going on here? Greetings, janneke