All of lore.kernel.org
 help / color / mirror / Atom feed
* Figuring out why sstate-cache is no longer used for a package
@ 2013-12-10  6:44 Mike Looijmans
  2013-12-10  9:35 ` Burton, Ross
  2013-12-10 14:32 ` Martin Jansa
  0 siblings, 2 replies; 4+ messages in thread
From: Mike Looijmans @ 2013-12-10  6:44 UTC (permalink / raw)
  To: openembedded-core

I've been struggling with this for a few days.

We have a build server that build various images overnight. One of the 
packages in that image is "fpga-image", which takes more than an hour to build.

We have been sharing the the build server's sstate-cache via HTTP and this has 
worked excellently up until yesterday.

The current situation is that a client will grab everything from the 
buildserver's HTTP sstate-cache, potentially finishing a build from scratch in 
about five minutes. However, for some reason, the fpga-image does not fall 
into this category, and eache machine insists on re-building it from scratch. 
I've been trying to debug this, but the sstate-cache is on another machine. I 
tried copying part of the build server's sstate-cache onto my machine, but 
that only results in "bitbake-diffsigs -t fpga-image .." yielding "ERROR: No 
sigdata files found matching fpga-image .." so that apparently is a dead end.

How can I determine what is causing the system to think that it needs to 
rebuild this package?

And/Or how do tell the system that this package only depends on the SRCREV and 
MACHINE and nothing else? (I've already set INHIBIT_DEFAULT_DEPS = "1", is 
there more that I can do?)


--
Mike Looijmans - TOPIC Automation


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Figuring out why sstate-cache is no longer used for a package
  2013-12-10  6:44 Figuring out why sstate-cache is no longer used for a package Mike Looijmans
@ 2013-12-10  9:35 ` Burton, Ross
  2013-12-10 14:32 ` Martin Jansa
  1 sibling, 0 replies; 4+ messages in thread
From: Burton, Ross @ 2013-12-10  9:35 UTC (permalink / raw)
  To: Mike Looijmans; +Cc: OE-core

On 10 December 2013 06:44, Mike Looijmans <mike.looijmans@topic.nl> wrote:
> The current situation is that a client will grab everything from the
> buildserver's HTTP sstate-cache, potentially finishing a build from scratch
> in about five minutes. However, for some reason, the fpga-image does not
> fall into this category, and eache machine insists on re-building it from
> scratch. I've been trying to debug this, but the sstate-cache is on another
> machine. I tried copying part of the build server's sstate-cache onto my
> machine, but that only results in "bitbake-diffsigs -t fpga-image .."
> yielding "ERROR: No sigdata files found matching fpga-image .." so that
> apparently is a dead end.

The trick is to use bitbake -S to write stamp data for a particular
image and copy that around. The script sstate-diff-machines can help
here.

Note that there's been some sstate fallout from the recent
optimisations: it was discovered yesterday that sstate hashes using
the "contains()" optimisation wasn't reliable so could produce
different hashes on different machines.  Try oe-core master from today
and see if that's any better: it certainly is for me.

Ross


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Figuring out why sstate-cache is no longer used for a package
  2013-12-10  6:44 Figuring out why sstate-cache is no longer used for a package Mike Looijmans
  2013-12-10  9:35 ` Burton, Ross
@ 2013-12-10 14:32 ` Martin Jansa
  2013-12-10 15:36   ` Chris Larson
  1 sibling, 1 reply; 4+ messages in thread
From: Martin Jansa @ 2013-12-10 14:32 UTC (permalink / raw)
  To: Mike Looijmans; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1674 bytes --]

On Tue, Dec 10, 2013 at 07:44:49AM +0100, Mike Looijmans wrote:
> I've been struggling with this for a few days.
> 
> We have a build server that build various images overnight. One of the 
> packages in that image is "fpga-image", which takes more than an hour to build.
> 
> We have been sharing the the build server's sstate-cache via HTTP and this has 
> worked excellently up until yesterday.
> 
> The current situation is that a client will grab everything from the 
> buildserver's HTTP sstate-cache, potentially finishing a build from scratch in 
> about five minutes. However, for some reason, the fpga-image does not fall 
> into this category, and eache machine insists on re-building it from scratch. 
> I've been trying to debug this, but the sstate-cache is on another machine. I 
> tried copying part of the build server's sstate-cache onto my machine, but 
> that only results in "bitbake-diffsigs -t fpga-image .." yielding "ERROR: No 
> sigdata files found matching fpga-image .." so that apparently is a dead end.
> 
> How can I determine what is causing the system to think that it needs to 
> rebuild this package?

I use this script:
openembedded-core/scripts/sstate-diff-machines.sh

to create "backup" of sstate signatures and when some next build
unexpectedly doesn't reuse some sstate packages I use the script again
and compare new and old signatures to see why.

As bonus each build which populates out SSTATE_MIRROR also creates tarball
with these signatures, so I can easily download one tarball and compare
what and why won't be reused from sstate.

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Figuring out why sstate-cache is no longer used for a package
  2013-12-10 14:32 ` Martin Jansa
@ 2013-12-10 15:36   ` Chris Larson
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Larson @ 2013-12-10 15:36 UTC (permalink / raw)
  To: Martin Jansa
  Cc: Mike Looijmans, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 2074 bytes --]

On Tue, Dec 10, 2013 at 7:32 AM, Martin Jansa <martin.jansa@gmail.com>wrote:

> On Tue, Dec 10, 2013 at 07:44:49AM +0100, Mike Looijmans wrote:
> > I've been struggling with this for a few days.
> >
> > We have a build server that build various images overnight. One of the
> > packages in that image is "fpga-image", which takes more than an hour to
> build.
> >
> > We have been sharing the the build server's sstate-cache via HTTP and
> this has
> > worked excellently up until yesterday.
> >
> > The current situation is that a client will grab everything from the
> > buildserver's HTTP sstate-cache, potentially finishing a build from
> scratch in
> > about five minutes. However, for some reason, the fpga-image does not
> fall
> > into this category, and eache machine insists on re-building it from
> scratch.
> > I've been trying to debug this, but the sstate-cache is on another
> machine. I
> > tried copying part of the build server's sstate-cache onto my machine,
> but
> > that only results in "bitbake-diffsigs -t fpga-image .." yielding
> "ERROR: No
> > sigdata files found matching fpga-image .." so that apparently is a dead
> end.
> >
> > How can I determine what is causing the system to think that it needs to
> > rebuild this package?
>
> I use this script:
> openembedded-core/scripts/sstate-diff-machines.sh
>
> to create "backup" of sstate signatures and when some next build
> unexpectedly doesn't reuse some sstate packages I use the script again
> and compare new and old signatures to see why.
>
> As bonus each build which populates out SSTATE_MIRROR also creates tarball
> with these signatures, so I can easily download one tarball and compare
> what and why won't be reused from sstate.


You can also directly use bitbake-whatchanged -v <target>, with STAMPS_DIR
set to the automated build’s stamps directory w/ sstates included.
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics

[-- Attachment #2: Type: text/html, Size: 2572 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-12-10 15:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-10  6:44 Figuring out why sstate-cache is no longer used for a package Mike Looijmans
2013-12-10  9:35 ` Burton, Ross
2013-12-10 14:32 ` Martin Jansa
2013-12-10 15:36   ` Chris Larson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.