[yocto] [meta-freescale] tmp/work-shared and sstate

Gary Thomas gary at mlbassoc.com
Wed Feb 11 03:23:56 PST 2015


On 2015-02-10 11:35, Gary Thomas wrote:
> On 2015-02-10 11:13, Christopher Larson wrote:
>>
>> On Tue, Feb 10, 2015 at 10:28 AM, Gary Thomas <gary at mlbassoc.com <mailto:gary at mlbassoc.com>> wrote:
>>
>>     If I run a build where the kernel package is brought in via
>>     sstate, tmp/work-shared (in particular the kernel-source tree)
>>     is not populated.  This will break at least these recipes:
>>        meta-fsl-arm/recipes-__multimedia/gstreamer/gst-fsl-__plugin_4.0.2.bb <http://gst-fsl-plugin_4.0.2.bb>
>>        meta-fsl-arm/recipes-__multimedia/alsa/fsl-alsa-__plugins_1.0.25.bb <http://fsl-alsa-plugins_1.0.25.bb>
>>
>>     These programs reference the kernel includes directly for some
>>     ARM/i.MX specific headers (e.g. <linux/mxcfb.h>).  These headers
>>     are not part of the mainline kernel which is used to create the
>>     kernel headers that populates tmp/sysroots, so the build fails.
>>     Note: I'm not sure of the mechanism that lets these programs
>>     peek into the kernel build (I looked at them but nothing jumped
>>     out), but they do build find if the kernel is actually built
>>     and not just brought in by sstate.
>>
>>     Is this an error & if so, which recipe is at fault?  The FSL
>>     recipes, or the new kernel build/classes?
>>
>>
>> Per commit 46cdaf1c7bc597735d926af6a46f9483f7e57ce5 (oe-core 6a1ff0e7eacef595738f2fed086986fd622ec32a), you need to add this if you depend on the sources:
>>
>>      do_configure[depends] += "virtual/kernel:do_shared_workdir"
>> --
>
> Thanks, I'm checking now to see if this fixes the problem.
>
> One thing I noted is I added that line to the two recipes in
> question.  When I [re]built my target image with these changes
> in a tree that I had just built using only sstate, it kicked
> off a ton of tasks (~6000!), and it seems that it's now rebuilding
> everything from scratch, not just unpacking the kernel.  Once this
> finishes, I'll try another rebuild from sstate to see how that works,
> but it sure looks like it's doing a lot more than necessary.
>
> Is this to be expected?

I'm not sure why this complete rebuild happened (sadly, it took
more than 8 hours...)  When it completed, I tried another rebuild
from sstate only and things worked as expected with everything
coming in from sstate.

One concern though - the kernel package seems to have been completely
rebuilt, not just the work-shared tree being repopulated.  Is this
correct?

Thanks for the swift answer to this problem.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the yocto mailing list