[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