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 > > > > > > > > > > Signed-off-by: Christian Eggers <[email protected]> > > > --- > > > .../include-what-you-use_git.bb | 22 > +++++++++++++++++++ > > > 1 file changed, 22 insertions(+) > > > create mode 100644 meta-oe/recipes-devtools/include-what-you-use/ > > > include-what-you-use_git.bb > > > > > > diff --git a/meta-oe/recipes-devtools/include-what-you-use/ > > > include-what-you-use_git.bb > > > b/meta-oe/recipes-devtools/include-what-you-use/ > > > include-what-you-use_git.bb > > > new file mode 100644 > > > index 000000000000..e7df6a834a34 > > > --- /dev/null > > > +++ b/meta-oe/recipes-devtools/include-what-you-use/ > > > include-what-you-use_git.bb > > > @@ -0,0 +1,22 @@ > > > +LICENSE = "NCSA" > > > +LIC_FILES_CHKSUM = > > > "file://LICENSE.TXT;md5=59d01ad98720f3c50d6a8a0ef3108c88 \ > > > + > > > > file://iwyu-check-license-header.py;md5=7bdb749831163fbe9232b3cb7186116f" > > > + > > > +SRC_URI = "git:// > > > > github.com/include-what-you-use/include-what-you-use.git;protocol=https;branch=clang_18 > > > " > > > + > > > +PV = "0.22+git${SRCPV}" > > > +SRCREV = "377eaef70cdda47368939f4d9beabfabe3f628f0" > > > + > > > +S = "${WORKDIR}/git" > > > + > > > +DEPENDS = "clang" > > > > > > This means it needs to use clang as library to link to is that what it > > required or does it need clang as static compiler to build this package > in > > which case you can do so by using TOOLCHAIN = “clang” in recipe > I think that it builds fine with the GCC toolchain, at least it doesn't > complain during build. Finally it links against libclang-cpp.so.18.1 and > libLLVM.so.18.1, so using "DEPENDS" sounds correct for me. > > Although I haven't configured Clang to provide also llvm (as described here > https://github.com/kraj/meta-clang?tab=readme-ov-file#providing-llvm), > there is a nativesdk-clang-libllvm package after building nativesdk-clang. > > > > > > > + > > > +inherit cmake python3native > > > + > > > +EXTRA_OECMAKE:append:class-nativesdk = " \ > > > + -DCMAKE_SKIP_RPATH:BOOL=ON \ > > > + " > > > + > > > +FILES:${PN} += "${datadir}/${BPN}" > > > + > > > +BBCLASSEXTEND = "nativesdk" > > > -- > > > 2.44.1 > > > > > > > > > > > > > > > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#111375): https://lists.openembedded.org/g/openembedded-devel/message/111375 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]] -=-=-=-=-=-=-=-=-=-=-=-
