summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRicardo Ribalda Delgado <ricardo@ribalda.com>2019-06-19 11:44:55 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-06-19 22:13:42 +0100
commit1d60af733cc28018ce95789191986e3ce6c3b86d (patch)
tree859c44264caa47ac4b5c39449d504241c70d712c /meta
parent931ed3e4f8d077ce915265806f61c6685a7f2917 (diff)
downloadpoky-1d60af733cc28018ce95789191986e3ce6c3b86d.tar.gz
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.... (From OE-Core rev: 2106a567820bad438ff78d54a49e3d87da428dcf) Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/python/python3/crosspythonpath.patch25
-rw-r--r--meta/recipes-devtools/python/python3_3.7.3.bb2
2 files changed, 27 insertions, 0 deletions
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 @@
1configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD
2
3When building x86->x86 the system will try to execute .so and related items
4from the default PYTHONPATH. This will fail if the target CPU contains
5instructions that the host CPU does not have, add CROSSPYTHONPATH
6into PYTHONPATH so we can prepend the list to find correct libs.
7
8Upstream-Status: Inappropriate [OE-Core integration specific]
9
10Credits-to: Mark Hatle <mark.hatle@windriver.com>
11Credits-to: Jackie Huang <jackie.huang@windriver.com>
12Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
13diff --git a/configure.ac b/configure.ac
14index 4ab19a6..7036a53 100644
15--- a/configure.ac
16+++ b/configure.ac
17@@ -76,7 +76,7 @@ if test "$cross_compiling" = yes; then
18 AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
19 fi
20 AC_MSG_RESULT($interp)
21- 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
22+ 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
23 fi
24 elif test "$cross_compiling" = maybe; then
25 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 \
24 file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ 24 file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
25 file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ 25 file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
26 file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ 26 file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
27 file://crosspythonpath.patch \
27 " 28 "
28 29
29SRC_URI_append_class-native = " \ 30SRC_URI_append_class-native = " \
@@ -65,6 +66,7 @@ DEPENDS_append_class-nativesdk = " python3-native"
65EXTRA_OECONF = " --without-ensurepip --enable-shared" 66EXTRA_OECONF = " --without-ensurepip --enable-shared"
66EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}" 67EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
67 68
69export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
68 70
69EXTRANATIVEPATH += "python3-native" 71EXTRANATIVEPATH += "python3-native"
70 72