Hi,

After compiling a package with GCC 6, I noticed the following error, which is a known issue:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129

The problem is caused by adding -isystem /usr/include, which breaks the GCC 6's #include_next. I see that Khem Raj already removed this for the nativesdk [1], but it seems we need a similar fix for other packages, as we are still adding -isystem in meta/conf/bitbake.conf:

[snip]
BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
[snip]

I experimented with a few options:

- Changing this to "-I${STAGING_INCDIR}". Although this works (and the poky repo will recompile with it), I believe it will break when a recipe does -Wall -Werror and hits an error in the standard include files (-isystem specifically ignores warnings for this reason.)

- Changing this to just "". This breaks at least pbzip2-native, which can no longer find bzlib.h, since it uses the system g++ to do so and bzlib-dev is not installed.

I'm guessing the right solution involves passing a --sysroot option to the native build instead of -isystem so that the builtin gcc/g++ /usr/include will find the right files.

Does this sound right, or do you have other ideas?

Thanks,
Martin

[1] poky 54d06c080393785270313878bc4a15a9915571ba
    https://patchwork.openembedded.org/patch/122285/
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to