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

Martin Blumenstingl martin.blumenstingl at googlemail.com
Sun Nov 26 08:27:13 PST 2017


Hi Peter,

On Sun, Nov 26, 2017 at 5:12 PM, Peter Pöschl <pp+wrt0611 at nest-ai.de> wrote:
> 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.
a few hours ago a similar patch was pushed: [0] (I CC'ed the author of it)

there are some differences between your patch and the one which is
merged already
maybe you could check these and rebase your patch to improve the
merged patch even futher

>
> 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])', \
your patch contains a match against EOL ($) which the merged version doesn't

>         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, \
this part is new

>         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
>
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev

Thank you!
Martin

[0] https://git.lede-project.org/?p=source.git;a=commitdiff;h=8ee2d3f718c79dc7c2e5e859766e23e8058cf3a6



More information about the Lede-dev mailing list