Hi Khem,
On Tuesday, 16 July 2024, 15:45:54 CEST, Khem Raj wrote: > On Tue, Jul 16, 2024 at 1:08 AM Christian Eggers <[email protected]> wrote: > > > On Monday, 15 July 2024, 16:18:14 CEST, Khem Raj wrote: > > > On Mon, Jul 15, 2024 at 5:18 AM Christian Eggers via > > lists.openembedded.org > > > <[email protected]> wrote: > > > > > > > Based on proposal send previously here: > > > > https://lists.yoctoproject.org/g/yocto/topic/recipe_for/83279588 > > > > > > > > This recipe depends on meta-clang, so should it be added to that layer? > > > > > > > > Unfortunately the 'include-what-you-use' (iwyu) tool doesn't work yet. > > > > Although I have installed nativesdk-clang (via CLANGSDK = "1") and > > > > nativesdk-include-what-you-use packages, the C++ standard headers are > > > > not found: > > > > > > > > include-what-you-use > > > > > > --sysroot=/opt/poky/5.0.2/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-musleabi > > > > impl/Fdt.cpp > > > > impl/Fdt.cpp:9:10: fatal error: 'cerrno' file not found > > > > 9 | #include <cerrno> > > > > | ^~~~~~~~ > > > > > > > > As iwyu uses Clang and I have no experience working with it, this is > > > > probably only a beginner mistake. Can Clang use the C++ headers > > provided > > > > by libstdc++, or do I need to install further packages? > > > > > > > > > > It can but it seems your SDK install might be missing any c++ runtime so > > > check a simple program that includes say <iostream> header and try > > > compiling it > > My SDK definitely contains std:: C++ headers for target and nativesdk. But > > the > > libstdc++ C++ headers are installed in GCC specific locations: > > > > /opt/poky/5.0.2/sysroots/x86_64-pokysdk-linux/usr/include/c++/13.3.0/ > > > > /opt/poky/5.0.2/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-musleabi/usr/include/c++/13.3.0 > > > > How can Clang know that the C++ headers are located in the (GCC specific) > > c++/13.3.0 > > sub directory? > > > Try adding -stdlib=libstdc++ on clang cmdline The following seems to work: include-what-you-use \ -target arm-poky-linux-musleabi \ --sysroot /opt/poky/5.0.2/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-musleabi \ -stdlib++-isystem /opt/poky/5.0.2/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-musleabi/usr/include/c++/13.3.0/arm-poky-linux-musleabi \ -stdlib++-isystem /opt/poky/5.0.2/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-musleabi/usr/include/c++/13.3.0 \ File.cpp Is there a way to make this a little bit handier? I would like to avoid hard coding this into my CMake toolchain file. regards, Christian
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#111376): https://lists.openembedded.org/g/openembedded-devel/message/111376 Mute This Topic: https://lists.openembedded.org/mt/107229738/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
