diff options
author | Jan Kundrát <jan.kundrat@cesnet.cz> | 2018-03-12 19:41:00 +0100 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2018-04-06 16:27:05 +0200 |
commit | 2e11d0ef9bc2b3bde948844fbe1331f9caef97ee (patch) | |
tree | 1e8993d58fc9d840cc71ba291aa959b85de253aa /package/python-pathtools/python-pathtools.hash | |
parent | eae2c250f21574791b679d19398ffa59413f3df7 (diff) | |
download | buildroot-2e11d0ef9bc2b3bde948844fbe1331f9caef97ee.tar.gz buildroot-2e11d0ef9bc2b3bde948844fbe1331f9caef97ee.zip |
cmake: Fix RPATH for host libraries built by CMake
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@cesnet.cz>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 7d43534625ac06ae01987113e912ffaf1aec2302)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/python-pathtools/python-pathtools.hash')
0 files changed, 0 insertions, 0 deletions