[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