[Buildroot] [PATCH 1/1] package/libjson: fix build with gcc 11

Arnout Vandecappelle arnout at mind.be
Tue Aug 3 15:49:14 UTC 2021



On 02/08/2021 00:00, Fabrice Fontaine wrote:
> Fix the following build failure with gcc 11:

 I've added "GCC 11 defaults to C++17." here, which is the real problem and
which nicely explains why -std=c++11 is the solution. It's all more or less
implied by the error message, but making it explicit is better.


 Applied to master, thanks.

 Regards,
 Arnout



> 
> In file included from _internal/Source/JSONDefs.h:12,
>                  from _internal/Source/JSONDebug.h:4,
>                  from _internal/Source/JSONNode.h:4,
>                  from _internal/Source/JSONNode.cpp:1:
> _internal/Source/JSONDefs/GNU_C.h:58:28: error: ISO C++17 does not allow dynamic exception specifications
>    58 |     #define json_throws(x) throw(x)
>       |                            ^~~~~
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/1e66dff705bbb38e7e0f0e5864ce794b4345dcc6
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
>  package/libjson/libjson.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/libjson/libjson.mk b/package/libjson/libjson.mk
> index d04ddc40f3..73268c9ccf 100644
> --- a/package/libjson/libjson.mk
> +++ b/package/libjson/libjson.mk
> @@ -11,7 +11,7 @@ LIBJSON_INSTALL_STAGING = YES
>  LIBJSON_LICENSE = BSD-2-Clause
>  LIBJSON_LICENSE_FILES = License.txt
>  
> -LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG
> +LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG -std=c++11
>  
>  ifeq ($(BR2_STATIC_LIBS),y)
>  LIBJSON_MAKE_OPTS += SHARED=0
> 


More information about the buildroot mailing list