[yocto] Getting build dependencies correct

Gary Thomas gary at mlbassoc.com
Sun Feb 12 22:02:10 PST 2017


I'm trying to work with a new tool that creates executables
for my target.  This tool has a shared library and some include
files.  What I need to figure out is how to run the tool in my
build environment such that it uses those files to create an
executable for my target board.

The tool is created by some recipe xxx.  I have enabled both
the target version and the xxx-native version (using BBCLASSEXTEND)
and end up with these files in the tmp/sysroots

gthomas at europa:p8701_2016-10-22$ find tmp/sysroots-components/armv7ahf-neon/am335x-pru-support
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/sysroot-providers
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/sysroot-providers/am335x-pru-support
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr/lib
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr/lib/libprussdrv.so.0
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr/lib/libprussdrv.so.0.0
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr/include
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr/include/pruss
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr/include/pruss/pruss_intc_mapping.h
tmp/sysroots-components/armv7ahf-neon/am335x-pru-support/usr/include/pruss/prussdrv.h
gthomas at europa:p8701_2016-10-22$ find tmp/sysroots-components/x86_64/am335x-pru-support-native/
tmp/sysroots-components/x86_64/am335x-pru-support-native/
tmp/sysroots-components/x86_64/am335x-pru-support-native/sysroot-providers
tmp/sysroots-components/x86_64/am335x-pru-support-native/sysroot-providers/am335x-pru-support-native
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/lib
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/lib/libprussdrv.so.0
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/lib/libprussdrv.so.0.0
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/include
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/include/pruss
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/include/pruss/pruss_intc_mapping.h
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/include/pruss/prussdrv.h
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/bin
tmp/sysroots-components/x86_64/am335x-pru-support-native/usr/bin/pasm

The question becomes how to make use of this in a separate recipe
that wants to use both the 'pasm' tool, as well as the include files
and library from the 'pruss' support.

I tried to use
   DEPENDS="am335x-pru-support"
as well as
   DEPENDS="am335x-pru-support-native"
in my recipe, but the correct sysroot is never found (e.g. <pruss/prussdrv.h>
is not in my search path).

Any help on how to proceed would be greatly appreciated.  I'm happy to share the
actual recipes if needed (I just left them out to avoid too much noise...)

Thanks

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the yocto mailing list