[yocto] DEPENDS only half working
colin.helliwell at ln-systems.com
colin.helliwell at ln-systems.com
Wed Feb 1 02:53:18 PST 2017
Fantastic - thanks. (Thought it must have been something simple!)
-----Original Message-----
From: Patrick Ohly [mailto:patrick.ohly at intel.com]
Sent: 01 February 2017 10:48
To: colin.helliwell at ln-systems.com
Cc: yocto at yoctoproject.org
Subject: Re: [yocto] DEPENDS only half working
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