I think this is related to
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1253638

My understanding (gleaned in large part from comment #5 of that issue -
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1253638/comments/5
; errors all mine) is:

* RPATH tells the loader where to look for all libraries
* the RPATH was deprecated a long time ago because it was thought to be a 
mistake that RPATH is processed with higher priority than the LD_LIBRARY_PATH 
environment variable
* that deprecation has recently made it's way out to Ubuntu
* the ld linker (?) now defaults to setting RUNPATH instead of RPATH. RUNPATH 
differs from RPATH in two ways:
  * it's has *lower priority* than the LD_LIBRARY_PATH environment variable, and
  * the loader only uses it to search for direct dependencies, *not transitive 
dependencies*
* this means that a lot of people are going to spend a lot of time trying to 
figure out why their stuff is broken.

As I understand it, there are two solutions:
 * link with --disable-new-dtags to make linker revert to setting RPATH
 * fix all your .so files so that they can find their own dependencies (via a 
RUNPATH setting)

In my case, I fixed my problem by rebuilding my Boost libraries with a
dll-path flag to tell the build where the .so files would be installed.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1737608

Title:
  RPATH no longer respected for indirect dependencies

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1737608/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to