Hi Erick, Erick Tryzelaar wrote:
> It's been a while since I last played around with nix, so I wanted to > check it out. I'm having some problems though. First off, the machine > I'm on has /home/erickt symlinked to another directory. After I built > nix and tried to install it, nix-update errored out saying that nix > doesn't support being installed in a path with a symlink. I've manually > specified the full path, but it would be a lot more handy if I didn't > have to. The reason that it complains about symlinks is that some builders resolve symlinks, so your package wouldn't work anymore when you point the symlink somewhere else (or if you distribute the binaries to another machine where the symlink points somewhere else, or is not a symlink at all). Sad but true. There is a workaround though: you can set the environment variable NIX_IGNORE_SYMLINK_STORE and it won't complain anymore. See http://nix.cs.uu.nl/dist/nix/nix-0.11pre8825/manual/#sec-common-env > The server may change the symlink in the future, and I'd hate > to have to rebuild nix all over again if that happened. An alternative to symlinks is to do a bind mount (assuming you're root...). > Second, after I installed it with the full path, I'm getting this > strange error. It looks like nix can't find tar, and I can't figure out > how to install it Any idea what's going on? [snip] > building path(s) > `/home/.expialidocious/erickt/nix/store/6wxcjdb7rb2hpd1jm9f8bpjsq4yq1639-static-tools' > > /home/.expialidocious/erickt/nix/store/ly27nn2avxzkzllr5ggla7ml0camgbai-unpack.sh: > line 6: ./.tar: Permission denied This is in pkgs/stdenv/linux/scripts/unpack.sh: $cp $tar .tar.bz2 $bunzip2 .tar.bz2 $bunzip2 -d < $tarball | ./.tar xvf - I guess that ./.tar is not executable. Could you run nix-env with the -K flag to make it keep the temporary build directory, and then do an ls -la on that directory to see what the permissions on .tar are? Also, try adding /bin/chmod +x .tar after the first $bunzip2 line. Actually, the most likely problem is that tar.bz2 is not executable (since bunzip2 just propagates the permissions of the input file). Please check that the tar.bz2 in your Nixpkgs tree is executable, e.g., $ ls -l ~/.nix-defexpr/nixpkgs-unstable/pkgs/stdenv/linux/bootstrap/i686/tar.bz2 -r-xr-xr-x 1 root nixbld 94989 1970-01-01 01:00 .../tar.bz2 -- Eelco Dolstra | http://www.cs.uu.nl/~eelco _______________________________________________ nix-dev mailing list [email protected] https://mail.cs.uu.nl/mailman/listinfo/nix-dev
