From 4433c7d647f4c9385d9a7e3f0ce912d61edfd519 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 29 May 2015 22:52:24 +0200 Subject: [PATCH] python3: add patch to fix logic to get gcc paths The Python setup.py has a function called add_gcc_paths(), which executes gcc -E -v to get the list of header paths searched by gcc. However, the logic of setup.py is only valid with the normal english output of gcc: it doesn't work if a non-english locale is set. This causes setup.py to not find certain headers (such as zlib.h) and therefore disabling the build of such extensions. Reported-by: Bruno Coudoin Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- .../python3/019-fix-add-gcc-paths-logic.patch | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 package/python3/019-fix-add-gcc-paths-logic.patch diff --git a/package/python3/019-fix-add-gcc-paths-logic.patch b/package/python3/019-fix-add-gcc-paths-logic.patch new file mode 100644 index 0000000000..179a29a2d0 --- /dev/null +++ b/package/python3/019-fix-add-gcc-paths-logic.patch @@ -0,0 +1,27 @@ +Override system locale and set to default when adding gcc paths + +Forces the use of the default locale in the function +add_gcc_paths, which is called when cross compiling to add the +include and library paths. This is necessary because otherwise +the gcc output is localized and the output parsing fails, which +results in no paths added and detect_modules not able to find +any system library (eg. libz, libssl, etc.) + +[Thomas: patch taken from https://bugs.python.org/issue23767.] + +Signed-off-by: Samuel Cabrero +Signed-off-by: Thomas Petazzoni + +Index: b/setup.py +=================================================================== +--- a/setup.py ++++ b/setup.py +@@ -423,7 +423,7 @@ + tmpfile = os.path.join(self.build_temp, 'gccpaths') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) +- ret = os.system('%s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) ++ ret = os.system('LC_ALL=C %s -E -v - %s 1>/dev/null' % (gcc, tmpfile)) + is_gcc = False + in_incdirs = False + inc_dirs = []