From 0c7b734f9674c544c475e83d914f1122039a2e02 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 6 Oct 2013 08:37:40 +0000 Subject: python: Ensure build completes before install At the start of install, python swizzles the makefiles around, leading to chunks of do_compile running again. These race against the install target, leading to errors if pieces are being recompiled whilst others are being installed. For now, workaround this by running the compile target with the new makefile, then running install ensuring a parallel make race doesn't happen. (From OE-Core rev: 72938a8631cfe5be5ac88ad67f2db595e2487e86) Signed-off-by: Richard Purdie --- meta/recipes-devtools/python/python_2.7.3.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'meta') diff --git a/meta/recipes-devtools/python/python_2.7.3.bb b/meta/recipes-devtools/python/python_2.7.3.bb index f6a460989b..40d20f1f4f 100644 --- a/meta/recipes-devtools/python/python_2.7.3.bb +++ b/meta/recipes-devtools/python/python_2.7.3.bb @@ -100,6 +100,17 @@ do_install() { export CROSS_COMPILE="${TARGET_PREFIX}" export PYTHONBUILDDIR="${S}" + + # After swizzling the makefile, we need to run the build again. + # install can race with the build so we have to run this first, then install + oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ + HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \ + CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + STAGING_INCDIR=${STAGING_INCDIR} \ + STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + DESTDIR=${D} LIBDIR=${libdir} oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \ -- cgit v1.2.3-54-g00ecf