[oe] linux-libc-headers-native, gcc-cross issue

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Sun Jun 20 20:51:48 UTC 2010


Dear all,

After the introduction of linux-libc-headers-native I've bumped into
the following issue.
linux-libc-headers-native installs unistd.h in sysroots
This causes other recipes to pick up the x86 files instead of the target ones.
I've seen this happen for both unistd.h and sigcontext.h

One of the recipes suffering from this is gcc-cross (for some architectures).
Reason is that files are compiled with
-I/home/frans/oe/tmp_angstrom/sysroots/i686-linux/usr/include whereas
the target specific includes are added with -isystem.
This causes the -I to win.

In the past sysroots/i686-linux/usr/include was empty, but with
linux-libc-headers-native it gets populated causing the files in there
to be used instead of the ones in the target ones.
By setting linux-libc-headers-native to ASSUME-PROVIDED and cleaning
and rebuilding TMPDIR I was able to avoid the problem.

However, I think this needs a more structural solution.
Suggestions are appreciated.

Frans.

PS: it might also be that other files suffer from this, but until now
I only had problems with gcc-cross




More information about the Openembedded-devel mailing list