* Problem installing Guix on OpenVZ host that uses zfs @ 2017-04-11 20:07 Stefan Reichör 2017-04-12 15:33 ` Leo Famulari 0 siblings, 1 reply; 4+ messages in thread From: Stefan Reichör @ 2017-04-11 20:07 UTC (permalink / raw) To: guix-devel Hi all, I tried today to install Guix v12.0 on an OpenVZ hoster: https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html#Binary-Installation But I failed with the following problem: ~/bin% ./guix package -i hello The following package will be installed: hello 2.10 /gnu/store/rvs42awwwby7pq3j0znglmz3vyznvbh1-hello-2.10 The following derivations will be built: /gnu/store/3rjlwl02c69c71jdcjcp96r41byqbv54-profile.drv /gnu/store/va7p6kn3c5836aw0risjxc0m6s3cj5jx-ca-certificate-bundle.drv /gnu/store/qbx513w8j5ikrjjnn2pv7qq91zmpylw8-fonts-dir.drv /gnu/store/9b7gxm83y7x4ps2mimp6jpfzx7hjypvd-info-dir.drv guix package: error: build failed: while setting up the build environment: unable to make filesystem `/' private: Permission denied ~/bin% mount satazpool/data/subvol-618-disk-1 on / type zfs (rw,noatime,xattr,posixacl) Is there a work around for this problem? Thanks, Stefan. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Problem installing Guix on OpenVZ host that uses zfs 2017-04-11 20:07 Problem installing Guix on OpenVZ host that uses zfs Stefan Reichör @ 2017-04-12 15:33 ` Leo Famulari 2017-04-12 20:41 ` Stefan Reichör 0 siblings, 1 reply; 4+ messages in thread From: Leo Famulari @ 2017-04-12 15:33 UTC (permalink / raw) To: Stefan Reichör; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1241 bytes --] On Tue, Apr 11, 2017 at 10:07:30PM +0200, Stefan Reichör wrote: > Hi all, > > I tried today to install Guix v12.0 on an OpenVZ hoster: > https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html#Binary-Installation > > But I failed with the following problem: > > ~/bin% ./guix package -i hello > The following package will be installed: > hello 2.10 /gnu/store/rvs42awwwby7pq3j0znglmz3vyznvbh1-hello-2.10 > > The following derivations will be built: > /gnu/store/3rjlwl02c69c71jdcjcp96r41byqbv54-profile.drv > /gnu/store/va7p6kn3c5836aw0risjxc0m6s3cj5jx-ca-certificate-bundle.drv > /gnu/store/qbx513w8j5ikrjjnn2pv7qq91zmpylw8-fonts-dir.drv > /gnu/store/9b7gxm83y7x4ps2mimp6jpfzx7hjypvd-info-dir.drv > guix package: error: build failed: while setting up the build environment: unable to make filesystem `/' private: Permission denied This comes from DerivationGoal() in 'nix/libstore/build.cc'. I'm not sure what it's trying to do with `/' and I'm also not familiar with that rather long function, so can you try attaching to the daemon with strace [0] and letting us know exactly where it fails? [0] Something like: $ strace -f -p $(pgrep guix-daemon | head -n1) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Problem installing Guix on OpenVZ host that uses zfs 2017-04-12 15:33 ` Leo Famulari @ 2017-04-12 20:41 ` Stefan Reichör 2017-04-13 14:54 ` Ludovic Courtès 0 siblings, 1 reply; 4+ messages in thread From: Stefan Reichör @ 2017-04-12 20:41 UTC (permalink / raw) To: guix-devel Hi Leo, > On Tue, Apr 11, 2017 at 10:07:30PM +0200, Stefan Reichör wrote: >> Hi all, >> >> I tried today to install Guix v12.0 on an OpenVZ hoster: >> https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html#Binary-Installation >> >> But I failed with the following problem: >> >> ~/bin% ./guix package -i hello >> The following package will be installed: >> hello 2.10 /gnu/store/rvs42awwwby7pq3j0znglmz3vyznvbh1-hello-2.10 >> >> The following derivations will be built: >> /gnu/store/3rjlwl02c69c71jdcjcp96r41byqbv54-profile.drv >> /gnu/store/va7p6kn3c5836aw0risjxc0m6s3cj5jx-ca-certificate-bundle.drv >> /gnu/store/qbx513w8j5ikrjjnn2pv7qq91zmpylw8-fonts-dir.drv >> /gnu/store/9b7gxm83y7x4ps2mimp6jpfzx7hjypvd-info-dir.drv >> guix package: error: build failed: while setting up the build environment: unable to make filesystem `/' private: Permission denied > > This comes from DerivationGoal() in 'nix/libstore/build.cc'. > > I'm not sure what it's trying to do with `/' and I'm also not familiar > with that rather long function, so can you try attaching to the daemon > with strace [0] and letting us know exactly where it fails? > > [0] Something like: > $ strace -f -p $(pgrep guix-daemon | head -n1) Cool trick :-) Here is the part that triggers the problem as I assume (I can send the full log as well when it is needed): [pid 31032] open("/proc/self/mountinfo", O_RDONLY) = 17 [pid 31032] read(17, "2860 2854 0:102 / / rw,noatime m"..., 4096) = 4076 [pid 31032] read(17, "", 4096) = 0 [pid 31032] close(17) = 0 [pid 31032] mount(NULL, "/", NULL, MS_PRIVATE, NULL) = -1 EACCES (Permission denied) [pid 31032] futex(0x7f827449c190, FUTEX_WAKE_PRIVATE, 2147483647) = 0 [pid 31032] write(2, "while setting up the build envir"..., 97) = 97 [pid 31032] exit_group(1) = ? [pid 31028] close(16) = 0 The entry for "/" in /proc/self/mountinfo is: 3966 3548 0:102 / / rw,noatime master:129 - zfs satazpool/data/subvol-618-disk-1 rw,xattr,posixacl Stefan. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Problem installing Guix on OpenVZ host that uses zfs 2017-04-12 20:41 ` Stefan Reichör @ 2017-04-13 14:54 ` Ludovic Courtès 0 siblings, 0 replies; 4+ messages in thread From: Ludovic Courtès @ 2017-04-13 14:54 UTC (permalink / raw) To: Stefan Reichör; +Cc: guix-devel Hello! Stefan Reichör <stefan@xsteve.at> skribis: > Here is the part that triggers the problem as I assume (I can send the > full log as well when it is needed): > > [pid 31032] open("/proc/self/mountinfo", O_RDONLY) = 17 > [pid 31032] read(17, "2860 2854 0:102 / / rw,noatime m"..., 4096) = 4076 > [pid 31032] read(17, "", 4096) = 0 > [pid 31032] close(17) = 0 > [pid 31032] mount(NULL, "/", NULL, MS_PRIVATE, NULL) = -1 EACCES (Permission denied) > [pid 31032] futex(0x7f827449c190, FUTEX_WAKE_PRIVATE, 2147483647) = 0 > [pid 31032] write(2, "while setting up the build envir"..., 97) = 97 > [pid 31032] exit_group(1) = ? > [pid 31028] close(16) = 0 > > The entry for "/" in /proc/self/mountinfo is: > 3966 3548 0:102 / / rw,noatime master:129 - zfs satazpool/data/subvol-618-disk-1 rw,xattr,posixacl The corresponding code in nix/libstore/build.cc is this: --8<---------------cut here---------------start------------->8--- /* Make all filesystems private. This is necessary because subtrees may have been mounted as "shared" (MS_SHARED). (Systemd does this, for instance.) Even though we have a private mount namespace, mounting filesystems on top of a shared subtree still propagates outside of the namespace. Making a subtree private is local to the namespace, though, so setting MS_PRIVATE does not affect the outside world. */ Strings mounts = tokenizeString<Strings>(readFile("/proc/self/mountinfo", true), "\n"); foreach (Strings::iterator, i, mounts) { vector<string> fields = tokenizeString<vector<string> >(*i, " "); string fs = decodeOctalEscaped(fields.at(4)); if (mount(0, fs.c_str(), 0, MS_PRIVATE, 0) == -1) throw SysError(format("unable to make filesystem `%1%' private") % fs); } --8<---------------cut here---------------end--------------->8--- So “fs.c_str()” evaluates to “/”, as expected. Now maybe zfs-on-linux doesn’t implement MS_PRIVATE or has specific constraints (is it on FUSE?). Perhaps you should check with the zfs-on-linux people what they think of it. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-04-13 14:54 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-04-11 20:07 Problem installing Guix on OpenVZ host that uses zfs Stefan Reichör 2017-04-12 15:33 ` Leo Famulari 2017-04-12 20:41 ` Stefan Reichör 2017-04-13 14:54 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).