[OE-core] How to find out why shared sstate is not being used for a recipe

Mike Looijmans mike.looijmans at topic.nl
Tue Jun 3 05:25:08 UTC 2014


On 05/29/2014 01:12 AM, Richard Purdie wrote:
> On Wed, 2014-05-28 at 13:46 -0700, Christopher Larson wrote:
>>
>> On Wed, May 28, 2014 at 1:42 PM, Khem Raj <raj.khem at gmail.com> wrote:
>>          On Mon, May 26, 2014 at 11:58 PM, Mike Looijmans
>>          <mike.looijmans at topic.nl> wrote:
>>          > I have a deja-vu feeling about this question.
>>          >
>>          > I have this recipe:
>>          >
>>          >
>>          https://github.com/topic-embedded-products/meta-topic/blob/master/recipes-bsp/fpga/fpga-image-miami.bb
>>          >
>>          > Which includes this one:
>>          >
>>          https://github.com/topic-embedded-products/meta-topic/blob/master/recipes-bsp/fpga/fpga-image.inc
>>          >
>>          > I have a build server that exports its sstate-cache
>>          directory through HTTP,
>>          > and a local host that attempts to use that sstate-cache.
>>          This works fine,
>>          > except for the recipe above. Building this recipe takes
>>          about 1 hour, so i
>>          > really really really want to share that state at any cost.
>>          As you can see,
>>          > I've done a big shotgun blast of "vardepdsexclude" to get
>>          the recipe to be
>>          > as common as possible. Still any host wants to build its own
>>          version.
>>          >
>>          > How can I diagnose the REASON that my machine thinks it
>>          isn't building the
>>          > exact same thing as the build server?
>>
>>
>>          see https://wiki.yoctoproject.org/wiki/Enable_sstate_cache
>>          towards the end it talks about verifying sstate sigs
>>
>>
>> If the sstate is local at least, you can use bitbake -S printdiff
>> <target>. There's also bitbake-whatchanged, but the bitbake one is
>> superior.

It's on two different machines, so I think that does not qualify as "local".

> Worst case, you can pull the siginfo files from one build and the
> siginfo files from the sstate mirror and then see which ones are
> different, then run bitbake-diffsigs X Y to compare the two files.

How do I find what to pull? I have (ssh) access to both machines. The 
sstate-cache dir contains a bunch of two-digit directories and a gazillion files.

I could just copy the whole thing to one machine, there's gigabit between 
them, but then what do I do with these files?


>
> bitbake -S just tries to automate that process if it can.
>

bitbake -S usually crashes here.



Met vriendelijke groet / kind regards,

Mike Looijmans

TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax:  (+31) (0) 499 33 69 70
E-mail: mike.looijmans at topic.nl
Website: www.topic.nl

Please consider the environment before printing this e-mail

Visit us at MEDTEC Europe 3-5 June, Messe Stuttgart, stand number 5D20
http://medteceurope.com/index.php?page=home-en




More information about the Openembedded-core mailing list