On Tue, Jul 16, 2024 at 7:57 AM Christian Eggers <[email protected]> wrote:
>
> 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.
>

Hmm so -stdlib=libstdc++ does not work ?

> regards,
> Christian
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#111377): 
https://lists.openembedded.org/g/openembedded-devel/message/111377
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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to