summaryrefslogtreecommitdiffstats
path: root/package/python3/019-fix-add-gcc-paths-logic.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-05-29 22:52:24 +0200
committerPeter Korsgaard <peter@korsgaard.com>2015-05-31 21:45:04 +0200
commit4433c7d647f4c9385d9a7e3f0ce912d61edfd519 (patch)
tree8baa636cb0fa375c0b380c623054e832208a6ca9 /package/python3/019-fix-add-gcc-paths-logic.patch
parent238bf198cf4f31a3301b81a924d5e22044945955 (diff)
downloadbuildroot-4433c7d647f4c9385d9a7e3f0ce912d61edfd519.tar.gz
buildroot-4433c7d647f4c9385d9a7e3f0ce912d61edfd519.zip
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 <bruno.coudoin@gcompris.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/python3/019-fix-add-gcc-paths-logic.patch')
-rw-r--r--package/python3/019-fix-add-gcc-paths-logic.patch27
1 files changed, 27 insertions, 0 deletions
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 <samuelcabrero@gmail.com>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+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 - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
++ ret = os.system('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (gcc, tmpfile))
+ is_gcc = False
+ in_incdirs = False
+ inc_dirs = []
OpenPOWER on IntegriCloud