1From d009b0142f77881dd75ff760fec728dbc8581a03 Mon Sep 17 00:00:00 2001 2From: Peter Korsgaard <peter@korsgaard.com> 3Date: Fri, 2 Aug 2019 15:53:16 +0200 4Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for 5 musl/uclibc GCC 8+ toolchains 6 7GCC commit 6834b83784dcf0364eb820e8 (multiarch support for non-glibc linux 8systems), which is part of GCC 8+, changed the multiarch logic to use 9$arch-linux-musl / $arch-linux-uclibc rather than $arch-linux-gnu. 10 11This then causes the python3 configure script to error out: 12 13checking for the platform triplet based on compiler characteristics... powerpc-linux-gnu 14configure: error: internal configure error for the platform triplet, please file a bug report 15 16http://autobuild.buildroot.net/results/cb4/cb49c539501342e45cbe5ade82e588fcdf51f05b 17 18As it requires that the --print-multiarch output (if not empty) matches the 19deduced triplet (which always uses -linux-gnu). 20 21It isn't quite clear why --print-multiarch returns something for a 22non-multiarch toolchain on some architectures (E.G. PowerPC), but as a 23workaround, rewrite the --print-multiarch output to match older GCC versions 24to keep the configure script happy. 25 26Signed-off-by: Peter Korsgaard <peter@korsgaard.com> 27[Peter: updated for 3.10.2] 28--- 29 configure.ac | 6 +++++- 30 1 file changed, 5 insertions(+), 1 deletion(-) 31 32diff --git a/configure.ac b/configure.ac 33index 913051c276..aba03f3779 100644 34--- a/configure.ac 35+++ b/configure.ac 36@@ -876,7 +876,11 @@ AC_MSG_CHECKING([for multiarch]) 37 AS_CASE([$ac_sys_system], 38 [Darwin*], [MULTIARCH=""], 39 [FreeBSD*], [MULTIARCH=""], 40- [MULTIARCH=$($CC --print-multiarch 2>/dev/null)] 41+ [ 42+ # GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based 43+ # toolchains confusing python. Fix that up 44+ MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/') 45+ ] 46 ) 47 AC_SUBST([MULTIARCH]) 48 AC_MSG_RESULT([$MULTIARCH]) 49-- 502.20.1 51 52