bpo-38472: setup.py uses LC_ALL=C to check the C compiler (GH-30929)

Fix GCC detection in setup.py when cross-compiling. The C compiler is
now run with LC_ALL=C. Previously, the detection failed with a German
locale.
This commit is contained in:
Victor Stinner 2022-01-27 00:22:04 +01:00 committed by GitHub
parent 8548366864
commit a9503ac394
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View File

@ -0,0 +1,2 @@
Fix GCC detection in setup.py when cross-compiling. The C compiler is now
run with LC_ALL=C. Previously, the detection failed with a German locale.

View File

@ -848,7 +848,9 @@ class PyBuildExt(build_ext):
tmpfile = os.path.join(self.build_temp, 'ccpaths')
if not os.path.exists(self.build_temp):
os.makedirs(self.build_temp)
ret = run_command('%s -E -v - </dev/null 2>%s 1>/dev/null' % (CC, tmpfile))
# bpo-38472: With a German locale, GCC returns "gcc-Version 9.1.0
# (GCC)", whereas it returns "gcc version 9.1.0" with the C locale.
ret = run_command('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (CC, tmpfile))
is_gcc = False
is_clang = False
in_incdirs = False