What should I expect when using SSTATE_MIRROR?


Mans Zigher <mans.zigher@...>
 

Hi,

I am trying to use the sstate cache by using a SSTATE_MIRROR. I have
built everything from scratch once and pushed my sstate-cache
directory to the server. I then wen't over to another machine and did
a clean build but this time I made sure it used SSTATE_MIRROR but the
result was not what I expected

Sstate summary: Wanted 1255 Found 233 Missed 2044 Current 0 (18%
match, 0% complete)

I have tried it multiple times on different machines with the same
result the only time it works as expect is when running the build on
the first machine from which the sstate cache was originally coming
from. Am I missing something? Or is this expected?

Thanks

/Måns Zigher


Mikko Rapeli <mikko.rapeli@...>
 

Hi,

On Fri, Dec 06, 2019 at 02:07:47PM +0100, Mans Zigher wrote:
Hi,

I am trying to use the sstate cache by using a SSTATE_MIRROR. I have
built everything from scratch once and pushed my sstate-cache
directory to the server. I then wen't over to another machine and did
a clean build but this time I made sure it used SSTATE_MIRROR but the
result was not what I expected

Sstate summary: Wanted 1255 Found 233 Missed 2044 Current 0 (18%
match, 0% complete)

I have tried it multiple times on different machines with the same
result the only time it works as expect is when running the build on
the first machine from which the sstate cache was originally coming
from. Am I missing something? Or is this expected?
Maybe host tool versions differ which trigger recompilation of things
like gcc and thus everything gets recompiled. You can use bitbake-diffsigs
to figure out why rebuild was triggered.

I work around this by using a build container based on LXC and Debian stable
everywhere, in CI and on developer machines with various Linux distros.

Hope this helps,

-Mikko


Mans Zigher <mans.zigher@...>
 

Hi, 

I am also using docker when building but good point I will make sure that we are using the same version of the docker image.

Thanks

On Fri, Dec 6, 2019, 17:06 <Mikko.Rapeli@...> wrote:
Hi,

On Fri, Dec 06, 2019 at 02:07:47PM +0100, Mans Zigher wrote:
> Hi,
>
> I am trying to use the sstate cache by using a SSTATE_MIRROR. I have
> built everything from scratch once and pushed my sstate-cache
> directory to the server. I then wen't over to another machine and did
> a clean build but this time I made sure it used SSTATE_MIRROR but the
> result was not what I expected
>
> Sstate summary: Wanted 1255 Found 233 Missed 2044 Current 0 (18%
> match, 0% complete)
>
> I have tried it multiple times on different machines with the same
> result the only time it works as expect is when running the build on
> the first machine from which the sstate cache was originally coming
> from. Am I missing something? Or is this expected?

Maybe host tool versions differ which trigger recompilation of things
like gcc and thus everything gets recompiled. You can use bitbake-diffsigs
to figure out why rebuild was triggered.

I work around this by using a build container based on LXC and Debian stable
everywhere, in CI and on developer machines with various Linux distros.

Hope this helps,

-Mikko