From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: sstate breakage with multimachine
Date: Tue, 17 May 2011 00:13:39 +0100 [thread overview]
Message-ID: <1305587619.3424.134.camel@rex> (raw)
In-Reply-To: <46AB3A39-160F-4EB9-B92E-8DE957C1284D@dominion.thruhere.net>
On Mon, 2011-05-16 at 13:20 +0200, Koen Kooi wrote:
> This bug gets reintroduced every other week, so let's try to fix it
> properly this time. The situation:
>
> 2 machines (beagleboard, pandaboard) using the same base architecture
> (armv7a).
>
> step 0: rm build pseudone -rf
> step 1: MACHINE=beagleboard bitbake console-image
> step 2: MACHINE=omap4430-panda bitbake console-image
>
> Step 0 and 1 work great, but I can't get step 2 to work. Attached is
> the complete output of step 2. As you can see without any updates to
> the repositories it wants to rebuild (e)glibc.
>
> Why does it wants to rebuild all that? Why does it fail?
I had a look at this. Firstly, I figured out I needed an incantation to
reproduce which turned out to be:
git clone git://git.angstrom-distribution.org/setup-scripts
git checkout oe-core
MACHINE=beagleboard ./oebb.sh config beagleboard
MACHINE=beagleboard ./oebb.sh bitbake console-image -S
MACHINE=omap4430-panda ./oebb.sh bitbake console-image -S
I added the -S option to dump sigdata files into the stamp directory so
I didn't need to run two builds before being able to look at this. Sure
enough, if you look
at /media/build2/builds/angstrom/setup-scripts/build/tmp-angstrom_2010_x/stamps/all-angstrom-linux-gnueabi
update-rc.d* then the do_populate_lic task is duplicated as are the
do_package and its subsequent tasks.
Diffing the do_populate_lic task, it shows DEPLOY_DIR_IMAGE has a
dependency on the MACHINE variable so its correctly rerunning the task
for that reason. This is an Angstrom specific change and adding:
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
+DEPLOY_DIR_IMAGE[vardepsexclude] = "MACHINE"
to conf/distro/include/angstrom.inc makes it go away. I'm not claiming
its the correct fix, it just proves where the problem is.
Secondly, the do_package task was depending on eglibc do_package. This
is almost certainly due to the default dependencies on things like
virtual/libc which we add. Being an "all" PACKAGE_ARCH, it clearly
doesn't depend on this so adding INHIBIT_DEFAULT_DEPS = "1" to the
update-rc.d recipe removed that problem and meant packaging didn't
rerun.
Further investigation is needed and these fixes need some thought and
creation of proper patches but hopefully this gives a handle on whats
going on and it turns out its not that hard to figure out (although some
scripts to compare two such runs would be interesting and/or some proper
test cases).
Note that the DEPLOY_DIR_IMAGE[vardepsexclude] is not correct. The
do_populate_lic task is putting files into the directory and the system
is therefore totally correct in deciding that the task needed to rerun
as the files were being placed in a different directory. do_populate_lic
could likely use some work in that regard as I'm not sure this is the
right place to be putting its data though.
Cheers,
Richard
next prev parent reply other threads:[~2011-05-16 23:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-16 11:20 sstate breakage with multimachine Koen Kooi
2011-05-16 23:13 ` Richard Purdie [this message]
2011-05-17 6:34 ` Koen Kooi
2011-05-17 9:37 ` Richard Purdie
2011-05-17 7:14 ` Martin Jansa
2011-05-17 9:42 ` Richard Purdie
2011-05-17 11:37 ` Martin Jansa
2011-05-17 23:10 ` Richard Purdie
2011-05-18 4:26 ` Martin Jansa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1305587619.3424.134.camel@rex \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox