From 2106a567820bad438ff78d54a49e3d87da428dcf Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Wed, 19 Jun 2019 11:44:55 +0200 Subject: python3: python3: Fix build error x86->x86 When building x86->x86 the system will try to execute .so and related items from the default PYTHONPATH. This will fail if the target CPU contains instructions that the host CPU does not have, add CROSSPYTHONPATH into PYTHONPATH so we can prepend the list to find correct libs. Fixes: Illegal instruction (core dumped) Makefile:625: recipe for target 'sharedmods' failed make: *** [sharedmods] Error 132 make: *** Waiting for unfinished jobs.... Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Richard Purdie --- .../python/python3/crosspythonpath.patch | 25 ++++++++++++++++++++++ meta/recipes-devtools/python/python3_3.7.3.bb | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 meta/recipes-devtools/python/python3/crosspythonpath.patch diff --git a/meta/recipes-devtools/python/python3/crosspythonpath.patch b/meta/recipes-devtools/python/python3/crosspythonpath.patch new file mode 100644 index 0000000000..d789ab57d4 --- /dev/null +++ b/meta/recipes-devtools/python/python3/crosspythonpath.patch @@ -0,0 +1,25 @@ +configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD + +When building x86->x86 the system will try to execute .so and related items +from the default PYTHONPATH. This will fail if the target CPU contains +instructions that the host CPU does not have, add CROSSPYTHONPATH +into PYTHONPATH so we can prepend the list to find correct libs. + +Upstream-Status: Inappropriate [OE-Core integration specific] + +Credits-to: Mark Hatle +Credits-to: Jackie Huang +Signed-off-by: Ricardo Ribalda +diff --git a/configure.ac b/configure.ac +index 4ab19a6..7036a53 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,7 +76,7 @@ if test "$cross_compiling" = yes; then + AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) + fi + AC_MSG_RESULT($interp) +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp + fi + elif test "$cross_compiling" = maybe; then + AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) diff --git a/meta/recipes-devtools/python/python3_3.7.3.bb b/meta/recipes-devtools/python/python3_3.7.3.bb index 832ef1b3c3..2444296142 100644 --- a/meta/recipes-devtools/python/python3_3.7.3.bb +++ b/meta/recipes-devtools/python/python3_3.7.3.bb @@ -24,6 +24,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ + file://crosspythonpath.patch \ " SRC_URI_append_class-native = " \ @@ -65,6 +66,7 @@ DEPENDS_append_class-nativesdk = " python3-native" EXTRA_OECONF = " --without-ensurepip --enable-shared" EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}" +export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" EXTRANATIVEPATH += "python3-native" -- cgit 1.2.3-korg