python3: fix build on Ubuntu/Debian multi-arch 10453/head
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Mon, 4 Nov 2019 12:05:09 +0000 (14:05 +0200)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Mon, 4 Nov 2019 12:10:36 +0000 (14:10 +0200)
This issue was introduced after upgrading to 3.8.
Patch `006-remove-multi-arch-and-local-paths.patch` was dropped. It was
tested on x86, but when using the x86_64 compiler in OpenWrt, the issue is
present.

The issue seems to be about Ubuntu/Debian's multi-arch support in
Python/Python3 setup [which I forgot about]. The code runs it regardless of
whether it cross-compiles or not, and for OpenWrt, this causes issues, as
it introduces absolute include paths from the host system.

Fixes https://github.com/openwrt/packages/issues/10452

Fixes: 48277ec915815 ("python3: bump to version 3.8")
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
lang/python/python3/Makefile
lang/python/python3/patches/006-do-not-add-multiarch-paths-when-cross-compiling.patch [new file with mode: 0644]

index cfa1c00c0aa7952f1d744fc63fcb3ba6ca633f08..809cda4d0fedbca930d44e0cef5675e827595b7a 100644 (file)
@@ -14,7 +14,7 @@ PYTHON_VERSION:=$(PYTHON3_VERSION)
 PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
 
 PKG_NAME:=python3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
 
 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
diff --git a/lang/python/python3/patches/006-do-not-add-multiarch-paths-when-cross-compiling.patch b/lang/python/python3/patches/006-do-not-add-multiarch-paths-when-cross-compiling.patch
new file mode 100644 (file)
index 0000000..16ef86a
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/setup.py
++++ b/setup.py
+@@ -654,7 +654,8 @@ class PyBuildExt(build_ext):
+         # only change this for cross builds for 3.3, issues on Mageia
+         if CROSS_COMPILING:
+             self.add_cross_compiling_paths()
+-        self.add_multiarch_paths()
++        else:
++            self.add_multiarch_paths()
+         self.add_ldflags_cppflags()
+     def init_inc_lib_dirs(self):