* 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).