> -----Original Message-----
> From: openembedded-core@lists.openembedded.org 
> <openembedded-core@lists.openembedded.org> On Behalf Of Richard Purdie
> Sent: den 13 juni 2024 10:40
> To: changqing...@windriver.com; openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] expect-native: fix build with gcc-14
> 
> On Thu, 2024-06-13 at 14:18 +0800, Changqing Li via lists.openembedded.org 
> wrote:
> > From: Changqing Li <changqing...@windriver.com>
> >
> > * do_configure failed with gcc-14:
> > error in build/config.log:
> > conftest.c:56:3: error: return type defaults to 'int' [-Wimplicit-int]
> > conftest.c:59:5: error: implicit declaration of function 'exit' 
> > [-Wimplicit-function-declaration]
> >
> > * this recipe set "BBCLASSEXTEND = "native nativesdk", causes "CFLAGS +="
> > setting not take effect, use append instead.
> > snip of bitbake expect-native -e:
> >    set /layers/oe-core/meta/conf/documentation.conf:110
> >      [doc] "Flags passed to the C compiler for the target system. This 
> > variable evaluates to the same as TARGET_CFLAGS."
> >    append /layers/oe-core/meta/recipes-devtools/expect/expect_5.45.4.bb:87
> >      "-Wno-error=incompatible-pointer-types"
> >    set /layers/oe-core/meta/classes-recipe/native.bbclass:44
> >      "${BUILD_CFLAGS}"
> >    override[pn-gtk4]::append[toolchain-clang] 
> > /layers/meta-clang/conf/nonclangable.conf:336
> >      " -Wno-error=int-conversion"
> >    override[pn-pidgin-sipe]::append[toolchain-clang] 
> > /layers/meta-clang/conf/nonclangable.conf:340
> >      " -Wno-error=cast-function-type-strict"
> >  pre-expansion value:
> >    "${BUILD_CFLAGS}"
> > export 
> > CFLAGS="-isystem/build/tmp-glibc/work/x86_64-linux/expect-native/5.45.4/recipe-sysroot-native/usr/include
> >  -O2 -pipe"
> >
> > Signed-off-by: Changqing Li <changqing...@windriver.com>
> > ---
> >  meta/recipes-devtools/expect/expect_5.45.4.bb | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-devtools/expect/expect_5.45.4.bb 
> > b/meta/recipes-devtools/expect/expect_5.45.4.bb
> > index 18904ebc10..5e7b352196 100644
> > --- a/meta/recipes-devtools/expect/expect_5.45.4.bb
> > +++ b/meta/recipes-devtools/expect/expect_5.45.4.bb
> > @@ -84,4 +84,7 @@ BBCLASSEXTEND = "native nativesdk"
> >
> >  # http://errors.yoctoproject.org/Errors/Details/766950/
> >  # expect5.45.4/exp_chan.c:62:5: error: initialization of 'struct 
> > Tcl_ChannelTypeVersion_ *' from incompatible pointer type 'int (*)(void *, 
> > int)' [-Wincompatible-pointer-types]
> > -CFLAGS += "-Wno-error=incompatible-pointer-types"
> > +CFLAGS:append = " -Wno-error=incompatible-pointer-types"
> > +
> > +# Fix expect-native configure tests are failing with gcc-14
> > +CFLAGS:append:class-native = " -Wno-error=implicit-int 
> > -Wno-error=implicit-function-declaration"
> >
> 
> You have a valid problem here however I really don't like the "arms
> race" of making everything an append as the base definitions are
> problematic. It would be this recipe today but a quick search shows
> many other recipes which will have similar problems.
> 
> I think I'd prefer to see if we can drop the assignments in
> native/nativesdk bbclass and improve things that way even if it is a
> bit more invasive.
> 
> I'm testing a patch on master-next to test this and see how bad the
> fallout is.
> 
> Cheers,
> 
> Richard

Isn't the correct thing to add to CFLAGS (really TARGET_CFLAGS) and/or 
BUILD_CFLAGS as appropriate? If the same options are needed for both 
target and native, then you can use an intermediary variable. E.g., for 
the above case you would get something like:

COMMON_CFLAGS = "-Wno-error=incompatible-pointer-types"
CFLAGS += "${COMMON_CFLAGS}"
BUILD_CFLAGS += " \
    ${COMMON_CFLAGS} \
    -Wno-error=implicit-int \
    -Wno-error=implicit-function-declaration \
"

//Peter

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#200639): 
https://lists.openembedded.org/g/openembedded-core/message/200639
Mute This Topic: https://lists.openembedded.org/mt/106647106/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to