diff options
author | Arnout Vandecappelle <arnout@mind.be> | 2014-03-05 00:29:49 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-03-05 19:45:24 +0100 |
commit | 6c94ab3cfd59c29ed27160ebd9759aea6a3fe58a (patch) | |
tree | 27fa279c557a431bac8a51e18afd4ab5c891a667 /docs/manual | |
parent | e640872eb0de465f635ac3903aa3e53cf6e9bafd (diff) | |
download | buildroot-6c94ab3cfd59c29ed27160ebd9759aea6a3fe58a.tar.gz buildroot-6c94ab3cfd59c29ed27160ebd9759aea6a3fe58a.zip |
host-python{, 3}: fix parallel install of libpython
During installation, host-python and host-python3 run the freshly built
python executable. This is done with a proper LD_LIBRARY_PATH to make
sure it picks up the libpython in the build directory. However, the
python binary has an RPATH pointing to the $(HOST_DIR)/usr/lib.
Therefore, if libpython exists there, it will be used instead.
If the install step is run in parallel, it is possible that libpython
is already partially copied to $(HOST_DIR)/usr/lib when python is run.
This gives an error like:
python: error while loading shared libraries: $(HOST_DIR)/usr/lib/libpython3.4m.so.1.0: file too short
The fix is simple: use RUNPATH instead of RPATH, which allows
LD_LIBRARY_PATH to override RUNPATH. That way, the libpython in the
build directory is always used. RUNPATH is enabled by passing
--enable-new-dtags to the linker.
Fixes e.g.
http://autobuild.buildroot.net/results/2a6/2a62de3247ba5ad273f03d01e690a3eeb11aa7b4
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'docs/manual')
0 files changed, 0 insertions, 0 deletions