PRoot Installation Fails with Move problems

Dear all,
i am trying to get Nix working on our HPC cluster, where mounting something at /nix is really no option. I am following the guide in the wiki, and my only option seems to use the PRoot version, as namespacing on our old CentOS is also disabled and i terribly fail to compile Nix from source with recent GCC versions (or get Brotli link errors).
Using a recent PRoot from the job artifacts on their GitLab site, i can enter a shell with the bind from ~/.nix to /nix by proot -b ~/.nix:/nix. But executing the installer in this shell fails:

-sh-4.2$ curl  -L https://nixos.org/nix/install | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  2699  100  2699    0     0   6465      0 --:--:-- --:--:-- --:--:--  6465
downloading Nix 2.3.10 binary tarball for x86_64-linux from 'https://releases.nixos.org/nix/nix-2.3.10/nix-2.3.10-x86_64-linux.tar.xz' to '/tmp/nix-binary-tarball-unpack.SZ6L2S1jfB'...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16.4M  100 16.4M    0     0  30.5M      0 --:--:-- --:--:-- --:--:-- 30.4M
Note: a multi-user installation is possible. See https://nixos.org/nix/manual/#sect-multi-user-installation
performing a single-user installation of Nix...
copying Nix to /nix/store....mv: das Verschieben von „/nix/store/./0x3bf23q5lmdq77x5icr7c0ngvz25ms3-openssl-1.1.1g.24746“ nach „/nix/store/./0x3bf23q5lmdq77x5icr7c0ngvz25ms3-openssl-1.1.1g“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden

(Moving openssl is not possible; file or directory not found). Unfortunately i have not the slightest idea what to do. ls tells me the origin exists. I would appreciate any help :slight_smile:

Best wishes
Phillip

the official proot does not support renameat2, but termux’s fork does. Go and try it :slight_smile:

However, using proot is a hack: it’s unreliable and slow – quite the contrary of what one expects from HPC. I think your time would be better spent trying again to build nix from source. If building a recent nix is too hard because of recent c++, maybe try to build an old version of nix, and then you can incrementally build slightly more recent versions of nix with matching versions of nixpkgs.

Went and tried it :slight_smile: Goes further than the original PRoot but now I get different errors:

error: removing extended attribute 'system.nfs4_acl' from '/nix/store/695n8j0yc2p8339al7f7djz0brg3ncfy-env-manifest.nix': Input/output error
/tmp/nix-binary-tarball-unpack.9eW5VQeXjB/unpack/nix-2.3.10-x86_64-linux/install: unable to install Nix into your default profile

But if you say this is probably not what I would want, I will look for a better installation method. Before I go back to compile everything from scratch again; Can I somehow trick Nix to make the installation with

nix run --store ~/.nix nixpkgs.nix nixpkgs.bashInteractive

if I mount the ~/.nix directory from the cluster with sshfs on my local workstation, where Nix is available?

Try by applying this patch