buildroot/package/python3
Arnout Vandecappelle 6c94ab3cfd 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>
2014-03-05 19:45:24 +01:00
..
Config.in python3: make it exclusive from python 2014-02-18 22:50:17 +01:00
python3-001-remove-host-header-path.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-002-properly-detect-if-python-build.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-003-sysconfigdata-install-location.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-004-old-stdlib-cache.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-005-pyc-pyo-conditional.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-006-cross-compile-getaddrinfo.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-007-disable-extensions.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-008-distutils-sysconfig-use-sysconfigdata.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-009-distutils-use-python-sysroot.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-010-no-termcap-host-path.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-100-optional-test-modules.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-101-optional-pydoc.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-102-optional-2to3.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-103-optional-sqlite.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-104-optional-tk.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-105-optional-curses.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-106-optional-expat.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-107-optional-codecs-cjk.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-108-optional-nis.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-109-optional-unicodedata.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3-110-optional-idle.patch python3: bump to 3.4.0rc1 2014-02-18 23:22:18 +01:00
python3.mk host-python{, 3}: fix parallel install of libpython 2014-03-05 19:45:24 +01:00