]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-38472: setup.py uses LC_ALL=C to check the C compiler (GH-30929)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 26 Jan 2022 23:50:30 +0000 (15:50 -0800)
committerGitHub <noreply@github.com>
Wed, 26 Jan 2022 23:50:30 +0000 (15:50 -0800)
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.
(cherry picked from commit a9503ac39474a9cb1b1935ddf159c0d9672b04b6)

Co-authored-by: Victor Stinner <vstinner@python.org>
Misc/NEWS.d/next/Build/2022-01-26-22-59-12.bpo-38472.RxfLho.rst [new file with mode: 0644]
setup.py

diff --git a/Misc/NEWS.d/next/Build/2022-01-26-22-59-12.bpo-38472.RxfLho.rst b/Misc/NEWS.d/next/Build/2022-01-26-22-59-12.bpo-38472.RxfLho.rst
new file mode 100644 (file)
index 0000000..4e0ee70
--- /dev/null
@@ -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.
index c6023e1ab6353e8ac60a86ffe15c489b939517d2..0bec170d3f2448cd344f7abb0659dbdfa700c1cc 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -682,7 +682,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