[Buildroot] [PATCH] cmake: Fix RPATH for host libraries built by CMake

Peter Korsgaard peter at korsgaard.com
Fri Apr 6 16:51:31 UTC 2018


>>>>> "Jan" == Jan Kundrát <jan.kundrat at cesnet.cz> writes:

 > The host shared libraries produced by CMake were missing a proper
 > DT_RPATH. That became a problem because the DT_RPATH handling is not
 > transitive by design.

 > Consider the following scenario:

 > - pkg-a provides a library (`liba`) which links to `libpcre`
 > - pkg-b provides a binary (`foo`) and a shared library (`libb`) which is
 > needed by that binary
 > - `libb` links to `liba`
 > - pkg-a and pkg-b are both built by CMake

 > In this scenario, `foo` is correctly marked with DT_RPATH pointing to
 > host/lib/, but that path is not used when (recursively) resolving PCRE's
 > symbols in `liba`. When attempting to run the `foo` binary, the linker
 > correctly finds both `liba` and `libb`, but it cannot find the
 > libpcre.so as built by Buildroot for host.

 > Signed-off-by: Jan Kundrát <jan.kundrat at cesnet.cz>

Committed to 2018.02.x, thanks.

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list