[yocto] DEPENDS only half working
Patrick Ohly
patrick.ohly at intel.com
Wed Feb 1 02:48:17 PST 2017
On Wed, 2017-02-01 at 10:38 +0000, colin.helliwell at ln-systems.com wrote:
> I’ve got an odd problem with a pair of recipes:
>
> App ‘bar’ uses ‘libfoo’, so I’ve set a DEPENDS in bar.bb – I can see
> this is being half picked up, because ‘bitbake bar’ shows both builds
> being started. However bar isn’t waiting on libfoo – bar tries to
> compile before libfoo has even finished configuring, let alone
> compiled and installed it’s header (foo_lib.h) into sysroot.
>
> I think the recipes are probably otherwise correct - if I ‘bitbake
> libfoo’ then ‘bitbake bar’ then all works.
>
> I’ve looked at some simple lib recipes within poky (e.g.
> libwebp_0.4.3.bb / webkitgtk_2.8.5.bb), and can’t spot anything
> wrong/missing. Not sure if libfoo should have any ‘install’ or similar
> sections, or any FILES_ settings, but I was [naively…?] hoping that
> the inherited classes will be sorting out all that generic kinda
> stuff.
[...]
> DEPENDS_${PN} = "libfoo"
^^^^^^^^^^^^^
This needs to be just "DEPENDS". DEPENDS sets the dependencies for the
compilation of the entire recipe, whereas...
> RDEPENDS_${PN} = "libfoo"
... RDEPENDS is for runtime dependencies specific packages and thus has
_<package name> as suffix ($PN = bar in this case).
libfoo gets compiled because of this entry, but because it is a runtime
dependency, compilation of bar doesn't wait for libfoo's completion.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
More information about the yocto
mailing list