[poky] Dependency problem

Koeller, Thomas Thomas.Koeller at baslerweb.com
Tue Sep 5 09:49:46 PDT 2017


From: Jussi Kukkonen [mailto:jussi.kukkonen at intel.com]


Thomas Koeller
Senior Software Developer



Basler AG
An der Strusbek 60-62
22926 Ahrensburg
Germany

Tel. +49 4102 463 390
Fax +49 4102 463 46 390

Thomas.Koeller at baslerweb.com
www.baslerweb.com

BASLER´S COMPONENTS ENHANCE YOUR VISION
baslerweb.com/vision-components

Management board: Dr.-Ing. Dietmar Ley (CEO) · John P. Jennings · Arndt Bake · Hardy Mehl
Chairman of the supervisory board: Norbert Basler
Basler AG · Amtsgericht Lübeck HRB 4090 · Ust-IdNr.: DE 135 098 121 · Steuer-Nr.: 30 292 04497 · WEEE-Reg.-Nr. DE 83888045
> On 5 September 2017 at 11:36, Koeller, Thomas <Thomas.Koeller at baslerweb.com> wrote:
>> Hello all,

>> I have been struggling with a problem for a couple of days now, without success so far. Hope somebody on this list can help.

>> I have two recipes, let's call them recipe_a and recipe_b (I am not allowed to share the actual recipes for legal reasons). recipe_a depends on recipe b; there is a line
>> reading 'DEPENDS = "... recipe_b ..." in recipe_a.bb. Whenever I invoke recipe_b directly (bitbake recipe_b), all is well and recipe_b produces the expected results. In
>> particular, the populate_sysroot task places a number of header files in the sysroot directory. If, however, I do 'bitbake recipe_a', I find that, while several tasks from
>> recipe_b are executed, populate_sysroot is obviously not among them. I should probably mention that recipe_b inherits from the qprebuilt class.

> qprebuilt is not a class I'm aware of -- it might be a good idea to review the class.

Indeed, I failed to notice that this is not a standard task. Its purpose is to install prebuilt binary stuff from an archive.

>> I noticed that recipe_a sets a variable 'PREBUILT = "1"', which does not appear to be used anywhere and is not mentioned in the yocto docs. Maybe this has something
>> to do with the problem, or maybe not.

>> I'd be grateful for any information that might be useful in solving this problem.

> You didn't mention the Yocto version. Sysroot functionality has changed quite a bit in recent releases so you should do that. The changes also mean that unusual
> sysroot tricks written a few releases back will not work as is on more recent releases. See
> http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#migration-2.3-recipe-specific-sysroots for more details

BitBake tells me that I am on version 1.28.

> On latest release "bitbake -g -u taskexp recipe-a" will give you a UI for browsing task dependencies. You should find "recipe-a.do_configure" depending
> "recipe-a.do_prepare_recipe_sysroot", and that depending on "recipe-b.do_populate_sysroot". If this is not the case then it seems likely something in the recipe
> (or its inherits) is undoing that dependency.

I got a step further. Looking at the log files produced by building recipe_a, I cannot find one for the do_configure task, which seems to indicate that no
such task was ever executed. This would explain why the dependency did not work, but leads to the question why do_configure did not run.
Any idea where I should look?

>  - Jussi

Thanks,
Thomas



More information about the poky mailing list