python: 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>
This commit is contained in:
parent
62d925ee68
commit
238bf198cf
27
package/python/018-fix-add-gcc-paths-logic.patch
Normal file
27
package/python/018-fix-add-gcc-paths-logic.patch
Normal file
|
@ -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
|
||||||
|
@@ -414,7 +414,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 = []
|
Loading…
Reference in New Issue
Block a user