From a9503ac39474a9cb1b1935ddf159c0d9672b04b6 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 27 Jan 2022 00:22:04 +0100 Subject: 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. --- Misc/NEWS.d/next/Build/2022-01-26-22-59-12.bpo-38472.RxfLho.rst | 2 ++ setup.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Build/2022-01-26-22-59-12.bpo-38472.RxfLho.rst 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 index 0000000..4e0ee70 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2022-01-26-22-59-12.bpo-38472.RxfLho.rst @@ -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. diff --git a/setup.py b/setup.py index e30674f..e47b2ab 100644 --- a/setup.py +++ b/setup.py @@ -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 - %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 - %s 1>/dev/null' % (CC, tmpfile)) is_gcc = False is_clang = False in_incdirs = False -- cgit v0.12