diff mbox series

[meta,kirkstone] json-c: disable -Werror for x86-64

Message ID 20230720133655.1266273-1-r.czerwinski@pengutronix.de
State New, archived
Headers show
Series [meta,kirkstone] json-c: disable -Werror for x86-64 | expand

Commit Message

Rouven Czerwinski July 20, 2023, 1:36 p.m. UTC
From: Rouven Czerwinski <rcz@pengutronix.de>

Disable -Werror using OECMAKE_C_FLAGS on x86-64. This ensures that json-c can
build on newer distributions where the host compiler is new enough to treat
implicit fallthrough warnings as errors:
  | NOTE: VERBOSE=1 cmake --build /…/work/x86_64-linux/json-c-native/0.15-r0/build --target all --
  | [1/34] /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc -D_GNU_SOURCE -Djson_c_EXPORTS -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15 -I/…/work/x86_64-linux/json-c-native/0.15-r0/build -isystem/…/work/x86_64-linux/j
  son-c-native/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF CMakeFiles/json-c.dir/linkhash.c.o.d -o CMakeFiles/json-c.dir/linkhash.c.o -c /…/work/x86_64-linux/json-c-native/0.15-r0/json-c
  -0.15/linkhash.c
  | FAILED: CMakeFiles/json-c.dir/linkhash.c.o
  | /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc -D_GNU_SOURCE -Djson_c_EXPORTS -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15 -I/…/work/x86_64-linux/json-c-native/0.15-r0/build -isystem/…/work/x86_64-linux/json-c-n
  ative/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF CMakeFiles/json-c.dir/linkhash.c.o.d -o CMakeFiles/json-c.dir/linkhash.c.o -c /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/l
  inkhash.c
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c: In function 'hashlittle':
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:367:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:368:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:372:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:373:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:376:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:377:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:380:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:381:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:383:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:384:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:420:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:3: note: here
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
  | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:431:3: note: here
  | cc1: all warnings being treated as errors

Passing -Wno-error x86-64 is the minimal invasive fix for older kirkstone
releases.

Signed-off-by: Rouven Czerwinski <rcz@pengutronix.de>
---
 meta/recipes-devtools/json-c/json-c_0.15.bb | 2 ++
 1 file changed, 2 insertions(+)

Comments

Alexander Kanavin July 20, 2023, 6:44 p.m. UTC | #1
This needs to be reported upstream and the ticket linked (ideally,
develop a patch to fix the issue). The tweak needs to be :class-native
only.

Alex

On Thu, 20 Jul 2023 at 15:37, Rouven Czerwinski
<r.czerwinski@pengutronix.de> wrote:
>
> From: Rouven Czerwinski <rcz@pengutronix.de>
>
> Disable -Werror using OECMAKE_C_FLAGS on x86-64. This ensures that json-c can
> build on newer distributions where the host compiler is new enough to treat
> implicit fallthrough warnings as errors:
>   | NOTE: VERBOSE=1 cmake --build /…/work/x86_64-linux/json-c-native/0.15-r0/build --target all --
>   | [1/34] /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc -D_GNU_SOURCE -Djson_c_EXPORTS -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15 -I/…/work/x86_64-linux/json-c-native/0.15-r0/build -isystem/…/work/x86_64-linux/j
>   son-c-native/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF CMakeFiles/json-c.dir/linkhash.c.o.d -o CMakeFiles/json-c.dir/linkhash.c.o -c /…/work/x86_64-linux/json-c-native/0.15-r0/json-c
>   -0.15/linkhash.c
>   | FAILED: CMakeFiles/json-c.dir/linkhash.c.o
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc -D_GNU_SOURCE -Djson_c_EXPORTS -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15 -I/…/work/x86_64-linux/json-c-native/0.15-r0/build -isystem/…/work/x86_64-linux/json-c-n
>   ative/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF CMakeFiles/json-c.dir/linkhash.c.o.d -o CMakeFiles/json-c.dir/linkhash.c.o -c /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/l
>   inkhash.c
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c: In function 'hashlittle':
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:367:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:368:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:372:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:373:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:376:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:377:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:380:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:381:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:383:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:384:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:420:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:3: note: here
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:431:3: note: here
>   | cc1: all warnings being treated as errors
>
> Passing -Wno-error x86-64 is the minimal invasive fix for older kirkstone
> releases.
>
> Signed-off-by: Rouven Czerwinski <rcz@pengutronix.de>
> ---
>  meta/recipes-devtools/json-c/json-c_0.15.bb | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-devtools/json-c/json-c_0.15.bb b/meta/recipes-devtools/json-c/json-c_0.15.bb
> index 7cbed55b3b..749eb078f8 100644
> --- a/meta/recipes-devtools/json-c/json-c_0.15.bb
> +++ b/meta/recipes-devtools/json-c/json-c_0.15.bb
> @@ -18,6 +18,8 @@ RPROVIDES:${PN} = "libjson"
>
>  inherit cmake ptest
>
> +OECMAKE_C_FLAGS:append:x86-64 = " -Wno-error"
> +
>  do_install_ptest() {
>      install -d ${D}/${PTEST_PATH}/tests
>      install ${B}/tests/test* ${D}/${PTEST_PATH}/tests
> --
> 2.39.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184639): https://lists.openembedded.org/g/openembedded-core/message/184639
> Mute This Topic: https://lists.openembedded.org/mt/100255913/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin July 20, 2023, 6:45 p.m. UTC | #2
Also, does the issue occur on oe-core master?

Alex

On Thu, 20 Jul 2023 at 20:44, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> This needs to be reported upstream and the ticket linked (ideally,
> develop a patch to fix the issue). The tweak needs to be :class-native
> only.
>
> Alex
>
> On Thu, 20 Jul 2023 at 15:37, Rouven Czerwinski
> <r.czerwinski@pengutronix.de> wrote:
> >
> > From: Rouven Czerwinski <rcz@pengutronix.de>
> >
> > Disable -Werror using OECMAKE_C_FLAGS on x86-64. This ensures that json-c can
> > build on newer distributions where the host compiler is new enough to treat
> > implicit fallthrough warnings as errors:
> >   | NOTE: VERBOSE=1 cmake --build /…/work/x86_64-linux/json-c-native/0.15-r0/build --target all --
> >   | [1/34] /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc -D_GNU_SOURCE -Djson_c_EXPORTS -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15 -I/…/work/x86_64-linux/json-c-native/0.15-r0/build -isystem/…/work/x86_64-linux/j
> >   son-c-native/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF CMakeFiles/json-c.dir/linkhash.c.o.d -o CMakeFiles/json-c.dir/linkhash.c.o -c /…/work/x86_64-linux/json-c-native/0.15-r0/json-c
> >   -0.15/linkhash.c
> >   | FAILED: CMakeFiles/json-c.dir/linkhash.c.o
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc -D_GNU_SOURCE -Djson_c_EXPORTS -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15 -I/…/work/x86_64-linux/json-c-native/0.15-r0/build -isystem/…/work/x86_64-linux/json-c-n
> >   ative/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF CMakeFiles/json-c.dir/linkhash.c.o.d -o CMakeFiles/json-c.dir/linkhash.c.o -c /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/l
> >   inkhash.c
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c: In function 'hashlittle':
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:367:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:368:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:372:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:373:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:376:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:377:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:380:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:381:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:383:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:384:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:420:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:3: note: here
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:13: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   | /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:431:3: note: here
> >   | cc1: all warnings being treated as errors
> >
> > Passing -Wno-error x86-64 is the minimal invasive fix for older kirkstone
> > releases.
> >
> > Signed-off-by: Rouven Czerwinski <rcz@pengutronix.de>
> > ---
> >  meta/recipes-devtools/json-c/json-c_0.15.bb | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-devtools/json-c/json-c_0.15.bb b/meta/recipes-devtools/json-c/json-c_0.15.bb
> > index 7cbed55b3b..749eb078f8 100644
> > --- a/meta/recipes-devtools/json-c/json-c_0.15.bb
> > +++ b/meta/recipes-devtools/json-c/json-c_0.15.bb
> > @@ -18,6 +18,8 @@ RPROVIDES:${PN} = "libjson"
> >
> >  inherit cmake ptest
> >
> > +OECMAKE_C_FLAGS:append:x86-64 = " -Wno-error"
> > +
> >  do_install_ptest() {
> >      install -d ${D}/${PTEST_PATH}/tests
> >      install ${B}/tests/test* ${D}/${PTEST_PATH}/tests
> > --
> > 2.39.2
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#184639): https://lists.openembedded.org/g/openembedded-core/message/184639
> > Mute This Topic: https://lists.openembedded.org/mt/100255913/1686489
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
Rouven Czerwinski July 21, 2023, 7:04 a.m. UTC | #3
Hi,

On Thu, 20 Jul 2023 20:45:44 +0200
"Alexander Kanavin" <alex.kanavin@gmail.com> wrote:

> Also, does the issue occur on oe-core master?
> 

I couldn't reproduce on amster.

> Alex
> 
> On Thu, 20 Jul 2023 at 20:44, Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > This needs to be reported upstream and the ticket linked (ideally,
> > develop a patch to fix the issue). The tweak needs to be
> > :class-native only.

And with a fresh container and only oe-core+bitbake I couldn't
reproduce this on kirkstone either.

Turns out the BSP I was working had ICECC enabled and json-c-native is
broken on ICECC. Apparently I was holding ICECC_RECIPE_DISABLE wrong,
since it works with ICECC_RECIPE_DISABLE += "json-c-native". I'll send a
patch for that instead.

In conclusion: please ignore this patch.

Thanks for the comments that nudged me to check this again!

Best regards,
Rouven

> >
> > Alex
> >
> > On Thu, 20 Jul 2023 at 15:37, Rouven Czerwinski
> > <r.czerwinski@pengutronix.de> wrote:  
> > >
> > > From: Rouven Czerwinski <rcz@pengutronix.de>
> > >
> > > Disable -Werror using OECMAKE_C_FLAGS on x86-64. This ensures
> > > that json-c can build on newer distributions where the host
> > > compiler is new enough to treat implicit fallthrough warnings as
> > > errors: | NOTE: VERBOSE=1 cmake --build
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/build --target all --
> > > | [1/34]
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc
> > > -D_GNU_SOURCE -Djson_c_EXPORTS
> > > -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15
> > > -I/…/work/x86_64-linux/json-c-native/0.15-r0/build
> > > -isystem/…/work/x86_64-linux/j
> > > son-c-native/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe
> > > -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual
> > > -Wno-error=deprecated-declarations -Wextra -Wwrite-strings
> > > -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT
> > > -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF
> > > CMakeFiles/json-c.dir/linkhash.c.o.d -o
> > > CMakeFiles/json-c.dir/linkhash.c.o -c
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c
> > > -0.15/linkhash.c | FAILED: CMakeFiles/json-c.dir/linkhash.c.o |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/recipe-sysroot-native/usr/bin/ice/gcc
> > > -D_GNU_SOURCE -Djson_c_EXPORTS
> > > -I/…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15
> > > -I/…/work/x86_64-linux/json-c-native/0.15-r0/build
> > > -isystem/…/work/x86_64-linux/json-c-n
> > > ative/0.15-r0/recipe-sysroot-native/usr/include -O2 -pipe
> > > -ffunction-sections -fdata-sections -Werror -Wall -Wcast-qual
> > > -Wno-error=deprecated-declarations -Wextra -Wwrite-strings
> > > -Wno-unused-parameter -Wstrict-prototypes -g -fPIC -D_REENTRANT
> > > -MD -MT CMakeFiles/json-c.dir/linkhash.c.o -MF
> > > CMakeFiles/json-c.dir/linkhash.c.o.d -o
> > > CMakeFiles/json-c.dir/linkhash.c.o -c
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/l
> > > inkhash.c |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:
> > > In function 'hashlittle': |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:367:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:368:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:372:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:373:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:376:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:377:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:380:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:381:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:383:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:384:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:420:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:421:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:422:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:423:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:424:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:425:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:426:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:427:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:428:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:429:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:3:
> > > note: here |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:430:13:
> > > error: this statement may fall through
> > > [-Werror=implicit-fallthrough=] |
> > > /…/work/x86_64-linux/json-c-native/0.15-r0/json-c-0.15/linkhash.c:431:3:
> > > note: here | cc1: all warnings being treated as errors
> > >
> > > Passing -Wno-error x86-64 is the minimal invasive fix for older
> > > kirkstone releases.
> > >
> > > Signed-off-by: Rouven Czerwinski <rcz@pengutronix.de>
> > > ---
> > >  meta/recipes-devtools/json-c/json-c_0.15.bb | 2 ++
> > >  1 file changed, 2 insertions(+)
> > >
> > > diff --git a/meta/recipes-devtools/json-c/json-c_0.15.bb
> > > b/meta/recipes-devtools/json-c/json-c_0.15.bb index
> > > 7cbed55b3b..749eb078f8 100644 ---
> > > a/meta/recipes-devtools/json-c/json-c_0.15.bb +++
> > > b/meta/recipes-devtools/json-c/json-c_0.15.bb @@ -18,6 +18,8 @@
> > > RPROVIDES:${PN} = "libjson"
> > >
> > >  inherit cmake ptest
> > >
> > > +OECMAKE_C_FLAGS:append:x86-64 = " -Wno-error"
> > > +
> > >  do_install_ptest() {
> > >      install -d ${D}/${PTEST_PATH}/tests
> > >      install ${B}/tests/test* ${D}/${PTEST_PATH}/tests
> > > --
> > > 2.39.2
> > >
> > >
> > > 
> > >
diff mbox series

Patch

diff --git a/meta/recipes-devtools/json-c/json-c_0.15.bb b/meta/recipes-devtools/json-c/json-c_0.15.bb
index 7cbed55b3b..749eb078f8 100644
--- a/meta/recipes-devtools/json-c/json-c_0.15.bb
+++ b/meta/recipes-devtools/json-c/json-c_0.15.bb
@@ -18,6 +18,8 @@  RPROVIDES:${PN} = "libjson"
 
 inherit cmake ptest
 
+OECMAKE_C_FLAGS:append:x86-64 = " -Wno-error"
+
 do_install_ptest() {
     install -d ${D}/${PTEST_PATH}/tests
     install ${B}/tests/test* ${D}/${PTEST_PATH}/tests