I'm using nix in "single-user mode" in a system where I'm not the root (see below for a description of my nix setup).
I wanted to quickly run one of my binaries which is dynamically linked with a library which is absent in the system.
So, I've installed the library with nix:
$ nix-env -qa 'gmp' gmp-4.3.2 gmp-5.1.3 $ nix-env -i gmp-5.1.3 But the library is still not found by the linker:
$ ldd -r ../valencies ../valencies: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by ../valencies) ../valencies: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ../valencies) linux-vdso.so.1 => (0x00007fffbbf28000) /usr/local/lib/libsnoopy.so (0x00007f4dcfbdc000) libgmp.so.10 => not found libffi.so.5 => /usr/lib64/libffi.so.5 (0x00007f4dcf9cc000) libm.so.6 => /lib64/libm.so.6 (0x00007f4dcf748000) librt.so.1 => /lib64/librt.so.1 (0x00007f4dcf540000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f4dcf33c000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4dcf11f000) libc.so.6 => /lib64/libc.so.6 (0x00007f4dced8b000) /lib64/ld-linux-x86-64.so.2 (0x00007f4dcfde7000) undefined symbol: __gmpz_gcd (../valencies) undefined symbol: __gmpn_cmp (../valencies) undefined symbol: __gmpz_mul (../valencies) undefined symbol: __gmpz_fdiv_r (../valencies) undefined symbol: __gmpz_fdiv_q_2exp (../valencies) undefined symbol: __gmpz_com (../valencies) undefined symbol: __gmpn_gcd_1 (../valencies) undefined symbol: __gmpz_sub (../valencies) symbol memcpy, version GLIBC_2.14 not defined in file libc.so.6 with link time reference (../valencies) undefined symbol: __gmpz_fdiv_q (../valencies) undefined symbol: __gmpz_fdiv_qr (../valencies) undefined symbol: __gmpz_add (../valencies) undefined symbol: __gmpz_init (../valencies) undefined symbol: __gmpz_ior (../valencies) undefined symbol: __gmpz_mul_2exp (../valencies) undefined symbol: __gmpz_xor (../valencies) undefined symbol: __gmpz_and (../valencies) symbol __fdelt_chk, version GLIBC_2.15 not defined in file libc.so.6 with link time reference (../valencies) undefined symbol: __gmpz_tdiv_qr (../valencies) undefined symbol: __gmp_set_memory_functions (../valencies) undefined symbol: __gmpz_tdiv_q (../valencies) undefined symbol: __gmpz_divexact (../valencies) undefined symbol: __gmpz_tdiv_r (../valencies) $ Look, it is present in the filesystem:
$ find / -name 'libgmp.so.10' 2>/dev/null /nix/store/mnmzq0qbrvw6dv1k2vj3cwz9ffdh05zr-user-environment/lib/libgmp.so.10 /nix/store/fnww2w81hv5v3dl9gsb7p4llb7z7krzd-gmp-5.1.3/lib/libgmp.so.10 $ What do I do so that libraries installed by nix are "visible"?
Probably, the standard user-installation script of nix modifies .bash_profile to add its bin/ into PATH, but does not do something analogous for libraries.
My nix setup:
The only thing I have asked the root to do for me was: mkdir -m 0755 /nix && chown ivan /nix, otherwise I've followed the standard simple nix installation procedure. So now I can use custom programs from nix packages. I couldn't do this nicely without any help from the root at all, i.e., without /nix/, because /nix/ was not available for me; I could of course use another directory, but then the pre-built binary packages wouldn't be valid and all packages would have to be rebuilt, according to the nix documentation. In my case, it was simpler to ask for /nix/ for me.
Another thing I've done is adding to ~/.bash_profile:
export NIX_CONF_DIR=/nix/etc/nix so that I can edit nix.conf. (It was supposed to be in the root-controlled /etc/ otherwise. I did it because I wanted to build-max-jobs and build-cores settings in it.)
nix-env, not to mentionnix.conf. What OS is this? Also, what do you repeated references tonixmean? I've only ever heard it used as an abbreviation toUnix, but it seems you are using it in a more specific context.nixis a modern package manager, and nixOS is a distro, and Hydra is a system for constantly rebuilding nix packages, and nixOps is a tool to manage an infrastructure (a network of several hosts) declaratively, and disNix to manage a set of services declaratively (on top of an infrastructure).guixis a GNU offspring ofnix, with a distro (promoted as 100%libre IICguix.