[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