Hi, Lluís Batlle wrote:
> reading from ld.so, I see the order of checking directories for > libraries goes as follows: > 1 - rpath > 2 - $LD_LIBRARY_PATH > 3 - runpath > 4 - ld.so.cache > 5 - default ld.so directories (where glibc has been installed) > > Is there any rationale behind the decision choosing rpath? Wouldn't > the runpath allow easier library substitution with $LD_LIBRARY_PATH, > and this would be a benefit? In stdenv-linux in Nixpkgs we use the RUNPATH exactly for this reason (namely allowing overriding through $LD_LIBRARY_PATH). We used to set the RPATH instead. See pkgs/development/tools/misc/binutils/default.nix and new-dtags.patch (which turns on the --enable-new-dtags flag by default). BTW, binaries with a RUNPATH still have an RPATH, but it's ignored. Also note that patchelf --set-path actually sets the RUNPATH nowadays unless you use --force-rpath. -- Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/ _______________________________________________ nix-dev mailing list nix-dev@cs.uu.nl https://mail.cs.uu.nl/mailman/listinfo/nix-dev