From 0c8b0b0bf727a57b0138a1425d2f32786dddd146 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Mon, 4 Nov 2019 14:05:09 +0200 Subject: [PATCH] python3: fix build on Ubuntu/Debian multi-arch 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 --- lang/python/python3/Makefile | 2 +- ...ot-add-multiarch-paths-when-cross-compiling.patch | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 lang/python/python3/patches/006-do-not-add-multiarch-paths-when-cross-compiling.patch diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index cfa1c00c0a..809cda4d0f 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -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 index 0000000000..16ef86ab8d --- /dev/null +++ b/lang/python/python3/patches/006-do-not-add-multiarch-paths-when-cross-compiling.patch @@ -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):