All of lore.kernel.org
 help / color / mirror / Atom feed
* Getting build dependencies correct
@ 2017-02-13  6:02 Gary Thomas
  2017-02-13  6:28 ` Gary Thomas
  2017-02-13 10:09 ` Jussi Kukkonen
  0 siblings, 2 replies; 3+ messages in thread
From: Gary Thomas @ 2017-02-13  6:02 UTC (permalink / raw)
  To: yocto

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@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@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
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Getting build dependencies correct
  2017-02-13  6:02 Getting build dependencies correct Gary Thomas
@ 2017-02-13  6:28 ` Gary Thomas
  2017-02-13 10:09 ` Jussi Kukkonen
  1 sibling, 0 replies; 3+ messages in thread
From: Gary Thomas @ 2017-02-13  6:28 UTC (permalink / raw)
  To: yocto

On 2017-02-13 07:02, Gary Thomas wrote:
> 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@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@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...)

Following up on this, I'm rather confused.  I installed this package to my target,
but some files seem to be missing:

# opkg files am335x-pru-support-dev
Package am335x-pru-support-dev (2016-08-30-r0.1) is installed on root and has the following files:

When I look in my build, I see something quite different:

tmp/work/armv7ahf-neon-amltd-linux-gnueabi/am335x-pru-support/2016-08-30-r0/packages-split/am335x-pru-support-dev
tmp/work/armv7ahf-neon-amltd-linux-gnueabi/am335x-pru-support/2016-08-30-r0/packages-split/am335x-pru-support-dev/usr
tmp/work/armv7ahf-neon-amltd-linux-gnueabi/am335x-pru-support/2016-08-30-r0/packages-split/am335x-pru-support-dev/usr/include
tmp/work/armv7ahf-neon-amltd-linux-gnueabi/am335x-pru-support/2016-08-30-r0/packages-split/am335x-pru-support-dev/usr/include/pruss
tmp/work/armv7ahf-neon-amltd-linux-gnueabi/am335x-pru-support/2016-08-30-r0/packages-split/am335x-pru-support-dev/usr/include/pruss/pruss_intc_mapping.h
tmp/work/armv7ahf-neon-amltd-linux-gnueabi/am335x-pru-support/2016-08-30-r0/packages-split/am335x-pru-support-dev/usr/include/pruss/prussdrv.h
tmp/work/armv7ahf-neon-amltd-linux-gnueabi/am335x-pru-support/2016-08-30-r0/packages-split/am335x-pru-support-locale

So why aren't these include files actually in the final package?
(Probably related to why I can't find them in my desktop build)

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Getting build dependencies correct
  2017-02-13  6:02 Getting build dependencies correct Gary Thomas
  2017-02-13  6:28 ` Gary Thomas
@ 2017-02-13 10:09 ` Jussi Kukkonen
  1 sibling, 0 replies; 3+ messages in thread
From: Jussi Kukkonen @ 2017-02-13 10:09 UTC (permalink / raw)
  To: Gary Thomas; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 3427 bytes --]

On 13 February 2017 at 08:02, Gary Thomas <gary@mlbassoc.com> wrote:

> 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@europa:p8701_2016-10-22$ find tmp/sysroots-components/armv7a
> hf-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@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/sys
> root-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).
>

You should probably depend on both: am335x-pru-support-native because you
want to run the binary, am335x-pru-support because if want to get the
target library to link with.

You should check the actual  recipe sysroots in WORKDIR/recipe-sysroot* to
see what is available during the build.

- Jussi

[-- Attachment #2: Type: text/html, Size: 4182 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-02-13 10:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-13  6:02 Getting build dependencies correct Gary Thomas
2017-02-13  6:28 ` Gary Thomas
2017-02-13 10:09 ` Jussi Kukkonen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.