[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 11:01:03 PST 2017


Hello Martin,

> [moved to top]
> > gcc7 --version | grep gcc, \
> > +       gcc-7 --version | grep gcc, \
> 
> this part is new

And unfortunately it is only the tip of the iceberg:

In Debian there were/are gcc-4.2 .. gcc-4.9, gcc-5 .. gcc-7.
And what about beauties like 'x86_64-linux-gnu-gcc-7'?
Why not ditch the 'gcc* --version' invocations and have people use
'CC=fancy-named-gcc' on the command line if needed?


> maybe you could check these and rebase your patch to improve the
> merged patch even further

how about this:

 * properly anchored at BOL (prohibits 2.5.6 etc.)

 * allows bare '5' and '6' (according to [1] these might actually exist on SUSE systems)

[1] https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00851.html


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 d7562b4f72..10cf746809 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -28,8 +28,8 @@ $(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-7]($$$$$$$$|\.[0-9]))', \
+       gcc -dumpversion | grep -E '^(4\.[8-9]|[5-7]($$$$$$$$|\.[0-9]))', \
        gcc48 --version | grep gcc, \
        gcc49 --version | grep gcc, \
        gcc5 --version | grep gcc, \
@@ -45,8 +45,8 @@ $(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-7]($$$$$$$$|\.[0-9]))', \
+       g++ -dumpversion | grep -E '^(4\.[8-9]|[5-7]($$$$$$$$|\.[0-9]))', \
        g++48 --version | grep g++, \
        g++49 --version | grep g++, \
        g++5 --version | grep g++, \

--
2.15.0






More information about the Lede-dev mailing list