[poky] Is sstate broken

Gary Thomas gary at mlbassoc.com
Wed Mar 9 10:42:01 PST 2011


On 03/08/11 18:29, Richard Purdie wrote:
> On Fri, 2011-03-04 at 04:34 -0700, Gary Thomas wrote:
>> On 03/03/2011 06:59 PM, Zhai, Edwin wrote:
>>> Gary Thomas wrote:
>>>> On 02/27/2011 11:07 PM, Zhai, Edwin wrote:
>>>>> Thanks for trying this.
>>>>> sstate function is a little bit fragile recently. I'll look at it after fixing some other bugs.
>>>>
>>>> Any progress on this?
>>>>
>>>> Should I file this as a bug?
>>>>
>>>
>>> We have one http://bugzilla.pokylinux.org/show_bug.cgi?id=788
>>
>> Yes, that addresses the random errors (which don't seem to have any affect)
>>
>> However, even without those errors, the sstate information is not being
>> used at all.  In my experiment, a new tree (with the old sstate pointed
>> to by SSTATE_MIRRORS) is executing a full build every time.
>>
>> Did I miss something?
>
> This should be fixed by the couple of recent changes in master, if you
> could check this is working I'd appreciate it as we are getting close to
> the release and I'd like this to be working.

I updated to master (fab742bd4693ed3092690a20dd32d53fe27c3d4c) and tried again.
I don't see any difference - the run using the sstate cache as a mirror
seems to do all the same work as without.  Here's how I tested it.

* Build original tree
   % POKYCONF=meta-cobra3530p60/conf . /tmp/poky-amltd/poky-init-build-env /local/p60_step1
   ... adjust conf/local.conf
   % bitbake amltd-console-image

* Rebuild, using previous result for SSTATE_MIRRORS
   % POKYCONF=meta-cobra3530p60/conf . /tmp/poky-amltd/poky-init-build-env /local/p60_step2
   ... adjust conf/local.conf
   % bitbake amltd-console-image

The only difference between the two runs is enabling SSTATE_MIRRORS in local.conf
   %  diff -u /local/p60_step?/conf/local.conf
    --- /local/p60_step1/conf/local.conf    2011-03-09 08:28:18.266933061 -0700
    +++ /local/p60_step2/conf/local.conf    2011-03-09 09:57:51.365932951 -0700
    @@ -53,4 +53,7 @@
     IMAGE_LINGUAS ?= "en-us"

     # Minimize feature set
     DISTRO_FEATURES ?= "alsa"
    +SSTATE_MIRRORS ?= "\
    +file://.* file:///local/p60_step1/sstate-cache/"

The results seem to have gone through all the same steps (or nearly so).  The output
from the runs is at
   http://www.mlbassoc.com/poky/build.step1
   http://www.mlbassoc.com/poky/build.step2

Comparing the two build trees:
   % ls /local/p60_step1/tmp/work/*/*/temp/log.do_compile | wc
     144     144   12521
   % ls /local/p60_step2/tmp/work/*/*/temp/log.do_compile | wc
     143     143   12427
   % du -s /local/p60_step?
   15229296        /local/p60_step1
   15162760        /local/p60_step2

I know this procedure used to work (or at least close).  Am I doing
something wrong?

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



More information about the poky mailing list