4 ms·
Well, the Anaconda Distribution and conda-forge build many thousands of packages and they use a variety of (often programmable) build systems. So quite often t
by RayDonnelly 9y ago
Well, the Anaconda Distribution and conda-forge build many thousands of packages and they use a variety of (often programmable) build systems.
So quite often the build system will be mis-programmed or will simply not care for relocatability at all, hard-coding /usr/lib/libfoo.so as DT_NEEDED, or hard-coding /usr/lib as DT_RPATH and/or DT_RUNPATH.
So conda-build runs a post-build step to make all DSO loading relative. We use patchelf and install_name_tool for that on Linux and macOS respectively.