[Nix-dev] linking error

stewart mackenzie setori88 at gmail.com
Thu Oct 17 08:34:50 CEST 2013

Dear nixors,

I've reinstalled my system using LVM to allow for greater space on
root if I run out, so this is a fresh clean system.

I've setup a mozart-oz development environment with all the needed
dependencies (although I still had to nix-env -i * them as the weren't
in ~/.nix-profile/lib, I assumed I could have a clean system and just
run load-env-mozart to get all dependencies, why do I still have to
run nix-env -i boost etc to make them available in

here is my ~/.nixpkgs/config.nix:
    packageOverrides = pkgs : with pkgs;  {
    # needed mozart development environment
    # type 'load-env-mozart' to load it after installing it using
'nix-env -i env-mozart'
    sdlEnv = pkgs.myEnvFun {
             name = "mozart";
             buildInputs = [stdenv cmake clang boost gcc47 emacs tcl
tk git gnumake jdk];

now installing it then running 'load-env-mozart' then fail to run my executable.

here is my ldd output:
mozart:[stewart at rivergod:~/oz/bin]$ ldd ozemulator
        linux-vdso.so.1 (0x00007fffd4c84000)
        libboost_program_options.so.1.54.0 => not found
        libboost_random.so.1.54.0 => not found
        libboost_system.so.1.54.0 => not found
        libboost_thread.so.1.54.0 => not found
        libboost_filesystem.so.1.54.0 => not found
        libboost_chrono.so.1.54.0 => not found
        libpthread.so.0 =>
        librt.so.1 =>
        libstdc++.so.6 => not found
        libm.so.6 =>
        libgcc_s.so.1 => not found
        libc.so.6 =>

I need to satisfy all of the above library paths.

here are my ldconfig -v and ldconfig -p outputs:

mozart:[stewart at rivergod:~/oz/bin]$ ldconfig -v
ldconfig: Warning: ignoring configuration file that cannot be opened:
No such file or directory
ldconfig: Path `/nix/store/zm4bhsm8lprkzvrjgqr0klfkvr21als4-glibc-2.17/lib64'
given more than once
ldconfig: Can't stat
/nix/store/zm4bhsm8lprkzvrjgqr0klfkvr21als4-glibc-2.17/libx32: No such
file or directory
        libpcprofile.so -> libpcprofile.so
        libc.so.6 -> libc-2.17.so
        libcidn.so.1 -> libcidn-2.17.so
        libnss_dns.so.2 -> libnss_dns-2.17.so
        libBrokenLocale.so.1 -> libBrokenLocale-2.17.so
        libresolv.so.2 -> libresolv-2.17.so
        libutil.so.1 -> libutil-2.17.so
        libnss_nisplus.so.2 -> libnss_nisplus-2.17.so
        libSegFault.so -> libSegFault.so
        libm.so.6 -> libm-2.17.so
        libdl.so.2 -> libdl-2.17.so
        librt.so.1 -> librt-2.17.so
        libpthread.so.0 -> libpthread-2.17.so
        libmemusage.so -> libmemusage.so
        libthread_db.so.1 -> libthread_db-1.0.so
        libcrypt.so.1 -> libcrypt-2.17.so
        libnss_compat.so.2 -> libnss_compat-2.17.so
        libnss_hesiod.so.2 -> libnss_hesiod-2.17.so
        libnsl.so.1 -> libnsl-2.17.so
        libnss_files.so.2 -> libnss_files-2.17.so
        libnss_nis.so.2 -> libnss_nis-2.17.so
        libnss_db.so.2 -> libnss_db-2.17.so
        libanl.so.1 -> libanl-2.17.so
        ld-linux-x86-64.so.2 -> ld-2.17.so
ldconfig: Can't create temporary cache file
Read-only file system

mozart:[stewart at rivergod:~/oz/bin]$ ldconfig -p
ldconfig: Can't open cache file
: No such file or directory

Here are my questions (as I'm trying to keep this as pure a possible):
How do I correctly setup LD_LIBRARY_PATH in nixos?
-- do I use configuration.nix?
How do I correctly setup library dependencies in nixos?
-- how do I interact with ld.so.conf? via configuration.nix?

Kind regards

More information about the nix-dev mailing list