[LEDE-DEV] [RFC] toolchain: fix GCC version check causing failure on Debian Testing with gcc-7

Peter Pöschl pp+wrt0611 at nest-ai.de
Sun Nov 26 08:12:04 PST 2017


In Debian Stretch/Testing gcc version 7 is called gcc-7 and g++-7 and
'gcc -dumpversion' returns '7' which causes 'make defconfig' to fail with

   Build dependency: Please install the GNU C Compiler ...
   Build dependency: Please install the GNU C++ Compiler ...

The following patch is minimal invasive.
Alternatively, it would be more robust to use the regex 
   '^(4\.[8-9]|5\.[0-9]|6\.[0-9]|7($$$$$$$$|.\[0-9]))'
instead (currently even 1.4.0 would be accepted), but this might have backward-compatibility ramifications.

Signed-off-by: Peter Pöschl <pp+wrt0611 at nest-ai.de>
---
diff --git a/include/prereq-build.mk b/include/prereq-build.mk
index c6f99a2071..43a8da290f 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -28,13 +28,14 @@ $(eval $(call TestHostCommand,proper-umask, \
 
 $(eval $(call SetupHostCommand,gcc, \
        Please install the GNU C Compiler (gcc) 4.8 or later \
-       $(CC) -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])', \
-       gcc -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])', \
+       $(CC) -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|^7$$$$$$$$|7\.[0-9])', \
+       gcc -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|^7$$$$$$$$|7\.[0-9])', \
        gcc48 --version | grep gcc, \
        gcc49 --version | grep gcc, \
        gcc5 --version | grep gcc, \
        gcc6 --version | grep gcc, \
        gcc7 --version | grep gcc, \
+       gcc-7 --version | grep gcc, \
        gcc --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-gcc, \
@@ -45,13 +46,14 @@ $(eval $(call TestHostCommand,working-gcc, \
 
 $(eval $(call SetupHostCommand,g++, \
        Please install the GNU C++ Compiler (g++) 4.8 or later \
-       $(CXX) -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])', \
-       g++ -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])', \
+       $(CXX) -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|^7$$$$$$$$|7\.[0-9])', \
+       g++ -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|^7$$$$$$$$|7\.[0-9])', \
        g++48 --version | grep g++, \
        g++49 --version | grep g++, \
        g++5 --version | grep g++, \
        g++6 --version | grep g++, \
        g++7 --version | grep g++, \
+       g++-7 --version | grep g++, \
        g++ --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-g++, \
-- 
2.15.0




More information about the Lede-dev mailing list