I ended up not to use meta-ide-support, but instead I've added the support of generating the toolchain to my own recipe (my component): that is my final intention, to be able to also build my component outside Yocto. So when I do a `bitbake my-component` beside building the component, the toolchain necessary to build the component outside Yocto is also generated.

In my recipe I've added some of the code from the meta-ide-support:

    inherit toolchain-scripts

    do_populate_ide_support () {
    addtask populate_ide_support before do_build after do_install

And now when I build my recipe I also get a environment-setup script in the build/tmp/ directory - same location as the meta-ide-toolchain used before.
Now everything is setup correctly:
OECORE_NATIVE_SYSROOT is set to [...]/build/tmp/work/cortexa5hf-neon-poky-linux-gnueabi/component/1.0/recipe-sysroot-native
Also all the dependencies are there.


On 01/02/18 13:39, Mircea Gliga wrote:
I have a problem starting from the rocko upgrade and related to the Recipe-specific Sysroots introduced in Yocto 2.3

Our project uses cmake. So out recipe has:
DEPENDS = "cmake-native [...]"

So cmake ends up in build/tmp/work/cortexa5hf-neon-poky-linux-gnueabi/component/1.0-r0/recipe-sysroot-native/usr/bin/cmake
So when building inside yocto everything is ok.

When we build outside yocto, we use the cross-toolchain generated and populated within the Build Directory:
  $ bitbake meta-ide-toolchain
and then source the environment:
  $ source build/tmp/environment-setup-cortexa5hf-neon-poky-linux-gnueabi

On rocko OECORE_NATIVE_SYSROOT is set to [...]/build/tmp/work/cortexa5hf-neon-poky-linux-gnueabi/meta-ide-support/1.0-r3/recipe-sysroot-native - which doesn't have cmake:
  $ which cmake
  $ /no cmake found/

And on Krogoth it was build/tmp/sysroots/x86_64-linux - cmake is there:
  $ which cmake
  <full path>/build/tmp/sysroots/x86_64-linux/usr/bin/cmake

How can I add it to my toolchain so that I can also build outside yocto ?

Thanks in advance !


yocto mailing list

Reply via email to