* Re: sstate status @ 2010-12-08 14:02 Paul Eggleton 2010-12-08 14:06 ` Paul Eggleton 0 siblings, 1 reply; 29+ messages in thread From: Paul Eggleton @ 2010-12-08 14:02 UTC (permalink / raw) To: poky@pokylinux.org On Wednesday 08 December 2010 11:41:22 you wrote: > Do we still need those variable whitelisting changes? Based on original > branch you pushed (basically RP's branch rebased on master imo), I think it > basically works at least for a single recipe build though above weird issue > exists for image build. > > Of course we need keep some bitbake specific variables in whitelist, such as > DATE, TIME and several others you added in last commit. Aren't many of those variables still exposed via preserved_envvars_list()? > On the other hand, did you observe my issue on this new push? I want to > understand its root cause, which is really funny. I have to admit I didn't look closely enough to be sure - I was mainly testing between two different build machines which don't share the same native arch, so the native packages were rebuilt anyway. I'm starting a fresh build now with my new branch to see if I can reproduce your results. Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 14:02 sstate status Paul Eggleton @ 2010-12-08 14:06 ` Paul Eggleton 2010-12-08 14:15 ` Tian, Kevin 2010-12-08 14:41 ` Gary Thomas 0 siblings, 2 replies; 29+ messages in thread From: Paul Eggleton @ 2010-12-08 14:06 UTC (permalink / raw) To: Tian, Kevin; +Cc: poky On Wednesday 08 December 2010 14:02:15 Paul Eggleton wrote: > I have to admit I didn't look closely enough to be sure - I was mainly > testing between two different build machines which don't share the same > native arch, so the native packages were rebuilt anyway. I'm starting a > fresh build now with my new branch to see if I can reproduce your results. FYI my build just finished and it's definitely rebuilding a whole bunch of packages (and not just native ones). More concerningly it seems to have rebuilt git-native and the hash has actually changed, although bitbake-diffsigs doesn't seem to be able to tell me what is different other than the hash itself. Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 14:06 ` Paul Eggleton @ 2010-12-08 14:15 ` Tian, Kevin 2010-12-08 14:50 ` Paul Eggleton 2010-12-08 14:41 ` Gary Thomas 1 sibling, 1 reply; 29+ messages in thread From: Tian, Kevin @ 2010-12-08 14:15 UTC (permalink / raw) To: Paul Eggleton; +Cc: poky@yoctoproject.org >From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] >Sent: Wednesday, December 08, 2010 10:06 PM > >On Wednesday 08 December 2010 14:02:15 Paul Eggleton wrote: >> I have to admit I didn't look closely enough to be sure - I was mainly >> testing between two different build machines which don't share the same >> native arch, so the native packages were rebuilt anyway. I'm starting a >> fresh build now with my new branch to see if I can reproduce your results. > >FYI my build just finished and it's definitely rebuilding a whole bunch of packages (and not >just native ones). More concerningly it seems to have rebuilt git-native and the hash has >actually changed, although bitbake-diffsigs doesn't seem to be able to tell me what is >different other than the hash itself. > It's a little different from my case, though I also observed lots of packages rebuilt besides native ones. How did you check the hash has been changed? In my case git-native simply overrides sstate package with same checksum. Also I found that git-native.do_populate_setsecene is not scheduled at all, which may be the reason for the rebuilt, but I haven't got the cause. Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 14:15 ` Tian, Kevin @ 2010-12-08 14:50 ` Paul Eggleton 2010-12-08 14:52 ` Tian, Kevin 0 siblings, 1 reply; 29+ messages in thread From: Paul Eggleton @ 2010-12-08 14:50 UTC (permalink / raw) To: poky On Wednesday 08 December 2010 14:15:45 Tian, Kevin wrote: > It's a little different from my case, though I also observed lots of packages > rebuilt besides native ones. This is what I saw as well. > How did you check the hash has been changed? In my case git-native > simply overrides sstate package with same checksum. I hacked together a shell script that looks for .siginfo files with the same package/arch/task but a different hash; if it finds these then it uses bitbake-diffsigs to compare them. As for the sstate packages being overwritten, I assume this is happening in my case as I can see the packages being rebuilt in the bitbake output. > Also I found that git-native.do_populate_setsecene is not scheduled at all, > which may be the reason for the rebuilt, but I haven't got the cause. Hmm, then it could be unrelated to the general problem. You didn't see this behaviour with your tk/sstate branch I presume? Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 14:50 ` Paul Eggleton @ 2010-12-08 14:52 ` Tian, Kevin 0 siblings, 0 replies; 29+ messages in thread From: Tian, Kevin @ 2010-12-08 14:52 UTC (permalink / raw) To: Paul Eggleton, poky@yoctoproject.org >From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] >Sent: Wednesday, December 08, 2010 10:50 PM > >On Wednesday 08 December 2010 14:15:45 Tian, Kevin wrote: >> It's a little different from my case, though I also observed lots of packages >> rebuilt besides native ones. > >This is what I saw as well. > >> How did you check the hash has been changed? In my case git-native >> simply overrides sstate package with same checksum. > >I hacked together a shell script that looks for .siginfo files with the same package/arch/task >but a different hash; if it finds these then it uses bitbake-diffsigs to compare them. > >As for the sstate packages being overwritten, I assume this is happening in my case as I >can see the packages being rebuilt in the bitbake output. > >> Also I found that git-native.do_populate_setsecene is not scheduled at all, >> which may be the reason for the rebuilt, but I haven't got the cause. > >Hmm, then it could be unrelated to the general problem. > >You didn't see this behaviour with your tk/sstate branch I presume? > I think so. I just observed this behavior after my vacation last week. But it may also come from other changes, not exactly from sstate related ones imo. There're some bitbake changes in the middle I think. Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 14:06 ` Paul Eggleton 2010-12-08 14:15 ` Tian, Kevin @ 2010-12-08 14:41 ` Gary Thomas 2010-12-08 15:31 ` Gary Thomas 2010-12-08 15:55 ` Paul Eggleton 1 sibling, 2 replies; 29+ messages in thread From: Gary Thomas @ 2010-12-08 14:41 UTC (permalink / raw) To: Paul Eggleton; +Cc: poky On 12/08/2010 07:06 AM, Paul Eggleton wrote: > On Wednesday 08 December 2010 14:02:15 Paul Eggleton wrote: >> I have to admit I didn't look closely enough to be sure - I was mainly >> testing between two different build machines which don't share the same >> native arch, so the native packages were rebuilt anyway. I'm starting a >> fresh build now with my new branch to see if I can reproduce your results. > > FYI my build just finished and it's definitely rebuilding a whole bunch of packages (and not just native ones). More concerningly it seems to have rebuilt git-native and the hash has actually changed, although bitbake-diffsigs doesn't seem to be able to tell me what is different other than the hash itself. I'm running my own experiments on this branch. It seems that something more fundamental is broken. I first ran % bitbake poky-image-minimal which seemed to go OK although the resulting image.tar.bz2 looks surprisingly empty. I've not investigated this fully. Then in the same tree, nothing else touched, I ran % bitbake poky-image-sato which generated a ton of messages like these: NOTE: package task-base-1.0-r69: task do_populate_sysroot_setscene: Started NOTE: Staging package /tmp/sstate_testing/sstate-cache/sstate-task-base-qemuarm-poky-linux-gnueabi-1.0-r69-armv5te-1-f2de7ef77366ff6028dbbf54a0206318_populate-sysroot.tgz does not exist NOTE: package task-base-1.0-r69: task do_package_setscene: Started NOTE: Staging package /tmp/sstate_testing/sstate-cache/sstate-task-base-qemuarm-poky-linux-gnueabi-1.0-r69-armv5te-1-82eff67eab7faa49e63393c34ce384dd_package.tgz does not exist etc. I also have seen that if I abort this build, there are literally hundreds of setscene tasks pending... I've put the logs at http://www.mlbassoc.com/poky/poky-image-minimal-from-paule-branch http://www.mlbassoc.com/poky/poky-image-sato-from-paule-branch Query: what sort of machine do you use for this testing? I have a Core-2 quad @2.4GHz with 3GB of RAM and it takes me around 5 hours to make a full test. -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 14:41 ` Gary Thomas @ 2010-12-08 15:31 ` Gary Thomas 2010-12-08 15:55 ` Paul Eggleton 1 sibling, 0 replies; 29+ messages in thread From: Gary Thomas @ 2010-12-08 15:31 UTC (permalink / raw) To: Paul Eggleton; +Cc: poky On 12/08/2010 07:41 AM, Gary Thomas wrote: > On 12/08/2010 07:06 AM, Paul Eggleton wrote: >> On Wednesday 08 December 2010 14:02:15 Paul Eggleton wrote: >>> I have to admit I didn't look closely enough to be sure - I was mainly >>> testing between two different build machines which don't share the same >>> native arch, so the native packages were rebuilt anyway. I'm starting a >>> fresh build now with my new branch to see if I can reproduce your results. >> >> FYI my build just finished and it's definitely rebuilding a whole bunch of packages (and not just native ones). More concerningly it seems to have rebuilt git-native and the hash >> has actually changed, although bitbake-diffsigs doesn't seem to be able to tell me what is different other than the hash itself. > > I'm running my own experiments on this branch. It seems that > something more fundamental is broken. I first ran > % bitbake poky-image-minimal > which seemed to go OK although the resulting image.tar.bz2 looks > surprisingly empty. I've not investigated this fully. > > Then in the same tree, nothing else touched, I ran > % bitbake poky-image-sato > which generated a ton of messages like these: > NOTE: package task-base-1.0-r69: task do_populate_sysroot_setscene: Started > NOTE: Staging package /tmp/sstate_testing/sstate-cache/sstate-task-base-qemuarm-poky-linux-gnueabi-1.0-r69-armv5te-1-f2de7ef77366ff6028dbbf54a0206318_populate-sysroot.tgz does not > exist > NOTE: package task-base-1.0-r69: task do_package_setscene: Started > NOTE: Staging package /tmp/sstate_testing/sstate-cache/sstate-task-base-qemuarm-poky-linux-gnueabi-1.0-r69-armv5te-1-82eff67eab7faa49e63393c34ce384dd_package.tgz does not exist > etc. I also have seen that if I abort this build, there are > literally hundreds of setscene tasks pending... > > I've put the logs at > http://www.mlbassoc.com/poky/poky-image-minimal-from-paule-branch > http://www.mlbassoc.com/poky/poky-image-sato-from-paule-branch BTW you'll notice that the second build failed (it wasn't done when I posted this originally): NOTE: package portmap-6.0-r7: task do_install: Started ERROR: Task failed: ('function do_install failed', '/tmp/sstate_testing/tmp/work/armv5te-poky-linux-gnueabi/portmap-6.0-r7/temp/log.do_install.26036') ERROR: Logfile of failure stored in: /tmp/sstate_testing/tmp/work/armv5te-poky-linux-gnueabi/portmap-6.0-r7/temp/log.do_install.26036 Log data follows: | NOTE: make -e MAKEFLAGS= install DESTDIR=/tmp/sstate_testing/tmp/work/armv5te-poky-linux-gnueabi/portmap-6.0-r7/image | install -o root -g root -m 0755 portmap /tmp/sstate_testing/tmp/work/armv5te-poky-linux-gnueabi/portmap-6.0-r7/image/sbin | install: cannot change ownership of `/tmp/sstate_testing/tmp/work/armv5te-poky-linux-gnueabi/portmap-6.0-r7/image/sbin/portmap': Operation not permitted | make: *** [install] Error 1 | FATAL: oe_runmake failed | ERROR: Task failed: ('function do_install failed', '/tmp/sstate_testing/tmp/work/armv5te-poky-linux-gnueabi/portmap-6.0-r7/temp/log.do_install.26036') NOTE: package portmap-6.0-r7: task do_install: Failed My build host is Fedora 13 with SELinux disabled. > Query: what sort of machine do you use for this testing? I have a > Core-2 quad @2.4GHz with 3GB of RAM and it takes me around 5 hours > to make a full test. > -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 14:41 ` Gary Thomas 2010-12-08 15:31 ` Gary Thomas @ 2010-12-08 15:55 ` Paul Eggleton 2010-12-08 17:14 ` Paul Eggleton 1 sibling, 1 reply; 29+ messages in thread From: Paul Eggleton @ 2010-12-08 15:55 UTC (permalink / raw) To: Gary Thomas; +Cc: poky On Wednesday 08 December 2010 14:41:11 you wrote: > Query: what sort of machine do you use for this testing? I have a > Core-2 quad @2.4GHz with 3GB of RAM and it takes me around 5 hours > to make a full test. Well, it depends on what you use as a "full test". For most of my testing I just use poky-image-minimal, although I really ought to be doing poky-image-sato or something a bit more substantial on a regular basis. poky-image-minimal takes about 25 mins on my build machine (a Core i7 870 with 6GB RAM). Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 15:55 ` Paul Eggleton @ 2010-12-08 17:14 ` Paul Eggleton 0 siblings, 0 replies; 29+ messages in thread From: Paul Eggleton @ 2010-12-08 17:14 UTC (permalink / raw) To: poky On Wednesday 08 December 2010 15:55:57 Paul Eggleton wrote: > poky-image-minimal takes about 25 mins on my build machine (a Core i7 870 > with 6GB RAM). Actually that is somewhat of an underestimation. "time bitbake poky-image-minimal" tells me it actually takes about 57 minutes. Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* sstate status
@ 2010-12-03 16:34 Paul Eggleton
2010-12-03 22:11 ` Richard Purdie
` (2 more replies)
0 siblings, 3 replies; 29+ messages in thread
From: Paul Eggleton @ 2010-12-03 16:34 UTC (permalink / raw)
To: poky
Hi all,
I've been doing some tests with sstate, and I've managed to get to a stage where I can share the SSTATE_DIR between my two machines (one running Fedora 14 and the other Kubuntu 10.10) and almost get a successful build from a clean TMPDIR. My last test got to poky-image-minimal.do_rootfs and then failed due to some kind of package dependency issue:
--------- snip ---------
| Processing rpm...
| Processing zypper...
| error: Failed dependencies:
| elfutils >= 0.148 is needed by rpm-5.1.10-r7.i586
| libaugeas0 >= 0.7.3 is needed by zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586
| ERROR: Task failed: ('function do_rootfs failed', '/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6874')
--------- snip ---------
A "bitbake -c clean augeas elfutils" and then "bitbake poky-image-minimal" again went through OK (and built the aforementioned recipes from sstate) , so I'm not sure what went wrong here.
My current state of work is in the paule/sstate contrib branch, which is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can move this towards master the better, then we can get some wider testing.
FYI Joshua has made bug #507 into a tracking bug for current sstate issues:
http://bugzilla.pokylinux.org/show_bug.cgi?id=507
Cheers,
Paul
^ permalink raw reply [flat|nested] 29+ messages in thread* Re: sstate status 2010-12-03 16:34 Paul Eggleton @ 2010-12-03 22:11 ` Richard Purdie 2010-12-05 11:10 ` Tian, Kevin 2010-12-06 16:06 ` Paul Eggleton 2010-12-03 23:31 ` Gary Thomas 2010-12-05 11:07 ` Tian, Kevin 2 siblings, 2 replies; 29+ messages in thread From: Richard Purdie @ 2010-12-03 22:11 UTC (permalink / raw) To: Paul Eggleton; +Cc: poky Hi, On Fri, 2010-12-03 at 16:34 +0000, Paul Eggleton wrote: > I've been doing some tests with sstate, and I've managed to get to a > stage where I can share the SSTATE_DIR between my two machines (one > running Fedora 14 and the other Kubuntu 10.10) and almost get a > successful build from a clean TMPDIR. My last test got to > poky-image-minimal.do_rootfs and then failed due to some kind of > package dependency issue: > > --------- snip --------- > | Processing rpm... > | Processing zypper... > | error: Failed dependencies: > | elfutils >= 0.148 is needed by rpm-5.1.10-r7.i586 > | libaugeas0 >= 0.7.3 is needed by zypper-1.4.7+git0 > +9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 > | ERROR: Task failed: ('function do_rootfs failed', > '/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6874') > --------- snip --------- > > A "bitbake -c clean augeas elfutils" and then "bitbake > poky-image-minimal" again went through OK (and built the > aforementioned recipes from sstate) , so I'm not sure what went wrong > here. > > My current state of work is in the paule/sstate contrib branch, which > is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can > move this towards master the better, then we can get some wider > testing. > > FYI Joshua has made bug #507 into a tracking bug for current sstate issues: > http://bugzilla.pokylinux.org/show_bug.cgi?id=507 Kevin/Paul: I notice a number of patches in your branches which shouldn't be needed if we use the two patches at the head of: http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 Could you please test using those two changes, or let me know if those changes cause problems. Cheers, Richard ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-03 22:11 ` Richard Purdie @ 2010-12-05 11:10 ` Tian, Kevin 2010-12-06 1:29 ` Richard Purdie 2010-12-06 16:06 ` Paul Eggleton 1 sibling, 1 reply; 29+ messages in thread From: Tian, Kevin @ 2010-12-05 11:10 UTC (permalink / raw) To: Richard Purdie, Paul Eggleton; +Cc: poky@yoctoproject.org >From: Richard Purdie >Sent: Saturday, December 04, 2010 6:12 AM > >Hi, > >On Fri, 2010-12-03 at 16:34 +0000, Paul Eggleton wrote: >> I've been doing some tests with sstate, and I've managed to get to a >> stage where I can share the SSTATE_DIR between my two machines (one >> running Fedora 14 and the other Kubuntu 10.10) and almost get a >> successful build from a clean TMPDIR. My last test got to >> poky-image-minimal.do_rootfs and then failed due to some kind of >> package dependency issue: >> >> --------- snip --------- >> | Processing rpm... >> | Processing zypper... >> | error: Failed dependencies: >> | elfutils >= 0.148 is needed by rpm-5.1.10-r7.i586 >> | libaugeas0 >= 0.7.3 is needed by zypper-1.4.7+git0 >> +9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 >> | ERROR: Task failed: ('function do_rootfs failed', >> >'/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log. >do_rootfs.6874') >> --------- snip --------- >> >> A "bitbake -c clean augeas elfutils" and then "bitbake >> poky-image-minimal" again went through OK (and built the >> aforementioned recipes from sstate) , so I'm not sure what went wrong >> here. >> >> My current state of work is in the paule/sstate contrib branch, which >> is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can >> move this towards master the better, then we can get some wider >> testing. >> >> FYI Joshua has made bug #507 into a tracking bug for current sstate issues: >> http://bugzilla.pokylinux.org/show_bug.cgi?id=507 > >Kevin/Paul: > >I notice a number of patches in your branches which shouldn't be needed >if we use the two patches at the head of: > >http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 > >Could you please test using those two changes, or let me know if those >changes cause problems. > Sure. However my remote machine in office is down unexpectedly. I'll verify it later when going to office next week. BTW, on my branch there're also some bug fixes out of environmental variables issue, which could you take a look whether they're correct? http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=7a6fc816766ea925591a0cf6ae17383a953ae061, siggen.py: set 'runtaskdeps' correctly http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=0a4c46dc2c122ef5c1057380e79b75e302583b4a, siggen.py: fix python error when comparing sstate generated from different srcpath http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=7d6dd0b5717b565f478c88d53cf5e53e139f1141, siggen.py: fix the wrong usage on BB_TASKHASH_WHITELIST Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-05 11:10 ` Tian, Kevin @ 2010-12-06 1:29 ` Richard Purdie 2010-12-07 7:46 ` Tian, Kevin 0 siblings, 1 reply; 29+ messages in thread From: Richard Purdie @ 2010-12-06 1:29 UTC (permalink / raw) To: Tian, Kevin, Chris Larson; +Cc: Paul Eggleton, poky@yoctoproject.org On Sun, 2010-12-05 at 19:10 +0800, Tian, Kevin wrote: > Sure. However my remote machine in office is down unexpectedly. I'll verify it later > when going to office next week. > > BTW, on my branch there're also some bug fixes out of environmental variables issue, > which could you take a look whether they're correct? > > http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=7a6fc816766ea925591a0cf6ae17383a953ae061, siggen.py: set 'runtaskdeps' correctly I've merged this one, thanks. > http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=0a4c46dc2c122ef5c1057380e79b75e302583b4a, siggen.py: fix python error when comparing sstate generated from different srcpath I understand the need for this but I don't like the implementation :) We can't use OEROOT here as its not a standard variable and is deprecated. I was initially thinking POKYBASE but that isn't right either in bitbake. Hmm. Chris, any suggestions? I'm actually struggling a bit to come up with a variable that represents a "head" of the metadata :/. Perhaps filename would be enough in this case? I'd also suggest we remove this path when we save the siginfo file, not when we load it and do the comparison. > http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=7d6dd0b5717b565f478c88d53cf5e53e139f1141, siggen.py: fix the wrong usage on BB_TASKHASH_WHITELIST Why the initial: if self.twl and not self.twl.search(dataCache.pkg_fn[fn]): ? I suspect it should just be: dep_fn = re.search("(?P<fn>.*)\..*", dep).group('fn') if self.twl.search(dataCache.pkg_fn[dep_fn]): #bb.note("Skipping %s" % dep) continue ? For native/cross tasks, I still expect then to have dependencies and be rebuilt if something changes, I just don't expect target packages to change when native/cross ones do. Cheers, Richard ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-06 1:29 ` Richard Purdie @ 2010-12-07 7:46 ` Tian, Kevin 2010-12-07 15:02 ` Richard Purdie 0 siblings, 1 reply; 29+ messages in thread From: Tian, Kevin @ 2010-12-07 7:46 UTC (permalink / raw) To: Richard Purdie, Chris Larson; +Cc: Paul Eggleton, poky@yoctoproject.org >From: Richard Purdie [mailto:rpurdie@linux.intel.com] >Sent: Monday, December 06, 2010 9:30 AM > >On Sun, 2010-12-05 at 19:10 +0800, Tian, Kevin wrote: >> Sure. However my remote machine in office is down unexpectedly. I'll verify it later >> when going to office next week. >> >> BTW, on my branch there're also some bug fixes out of environmental variables issue, >> which could you take a look whether they're correct? >> >> >http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=7a6fc816766 >ea925591a0cf6ae17383a953ae061, siggen.py: set 'runtaskdeps' correctly > >I've merged this one, thanks. Thanks > >> >http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=0a4c46dc2c1 >22ef5c1057380e79b75e302583b4a, siggen.py: fix python error when comparing sstate >generated from different srcpath > >I understand the need for this but I don't like the implementation :) > >We can't use OEROOT here as its not a standard variable and is >deprecated. I was initially thinking POKYBASE but that isn't right >either in bitbake. Hmm. Could you elaborate why POKYBASE can't be used too? Because LAYERDIR is a one-time expansion action? If we're sure that POKYBASE is expanded before base signature generation, then it could work. > >Chris, any suggestions? I'm actually struggling a bit to come up with a >variable that represents a "head" of the metadata :/. Perhaps filename >would be enough in this case? > >I'd also suggest we remove this path when we save the siginfo file, not >when we load it and do the comparison. Yes, that's a better approach. I'll go that approach. > >> >http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=7d6dd0b5717 >b565f478c88d53cf5e53e139f1141, siggen.py: fix the wrong usage on >BB_TASKHASH_WHITELIST > >Why the initial: > >if self.twl and not self.twl.search(dataCache.pkg_fn[fn]): > >? > >I suspect it should just be: > >dep_fn = re.search("(?P<fn>.*)\..*", dep).group('fn') >if self.twl.search(dataCache.pkg_fn[dep_fn]): > #bb.note("Skipping %s" % dep) > continue > >? > >For native/cross tasks, I still expect then to have dependencies and be >rebuilt if something changes, I just don't expect target packages to >change when native/cross ones do. > That's my intention too. Above logic is to filter out native/cross dependencies. If we do that filter for native/cross tasks too, that means all dependencies would be wiped out which is not what we want since they all fall into the match group. That's why I add the initial condition to restrict the filtering on on target packages. :-) Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-07 7:46 ` Tian, Kevin @ 2010-12-07 15:02 ` Richard Purdie 2010-12-08 0:40 ` Tian, Kevin 0 siblings, 1 reply; 29+ messages in thread From: Richard Purdie @ 2010-12-07 15:02 UTC (permalink / raw) To: Tian, Kevin; +Cc: Paul Eggleton, Chris Larson, poky@yoctoproject.org On Tue, 2010-12-07 at 15:46 +0800, Tian, Kevin wrote: > >From: Richard Purdie [mailto:rpurdie@linux.intel.com] > >http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=0a4c46dc2c1 > >22ef5c1057380e79b75e302583b4a, siggen.py: fix python error when comparing sstate > >generated from different srcpath > > > >I understand the need for this but I don't like the implementation :) > > > >We can't use OEROOT here as its not a standard variable and is > >deprecated. I was initially thinking POKYBASE but that isn't right > >either in bitbake. Hmm. > > Could you elaborate why POKYBASE can't be used too? Because LAYERDIR is a > one-time expansion action? If we're sure that POKYBASE is expanded before > base signature generation, then it could work. POKYBASE is poky specific and not a bitbake variable. Using it in generic bitbake code is therefore a layer violation. > >Chris, any suggestions? I'm actually struggling a bit to come up with a > >variable that represents a "head" of the metadata :/. Perhaps filename > >would be enough in this case? > > > >I'd also suggest we remove this path when we save the siginfo file, not > >when we load it and do the comparison. > > Yes, that's a better approach. I'll go that approach. Thanks, I'll wait for an updated patch. > That's my intention too. Above logic is to filter out native/cross dependencies. > If we do that filter for native/cross tasks too, that means all dependencies > would be wiped out which is not what we want since they all fall into the > match group. That's why I add the initial condition to restrict the filtering on > on target packages. :-) Ok, this makes sense. I merged it after adding in some comments to the code. I've asked Paul to pull together a branch with all the changes in for sstate and see how we stand. Cheers, Richard ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-07 15:02 ` Richard Purdie @ 2010-12-08 0:40 ` Tian, Kevin 0 siblings, 0 replies; 29+ messages in thread From: Tian, Kevin @ 2010-12-08 0:40 UTC (permalink / raw) To: Richard Purdie; +Cc: Paul Eggleton, Chris Larson, poky@yoctoproject.org >From: Richard Purdie [mailto:rpurdie@linux.intel.com] >Sent: Tuesday, December 07, 2010 11:03 PM > >On Tue, 2010-12-07 at 15:46 +0800, Tian, Kevin wrote: >> >From: Richard Purdie [mailto:rpurdie@linux.intel.com] > >> >http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=tk/sstate&id=0a4c46dc >2c1 >> >22ef5c1057380e79b75e302583b4a, siggen.py: fix python error when comparing sstate >> >generated from different srcpath >> > >> >I understand the need for this but I don't like the implementation :) >> > >> >We can't use OEROOT here as its not a standard variable and is >> >deprecated. I was initially thinking POKYBASE but that isn't right >> >either in bitbake. Hmm. >> >> Could you elaborate why POKYBASE can't be used too? Because LAYERDIR is a >> one-time expansion action? If we're sure that POKYBASE is expanded before >> base signature generation, then it could work. > >POKYBASE is poky specific and not a bitbake variable. Using it in >generic bitbake code is therefore a layer violation. Got it. > >> >Chris, any suggestions? I'm actually struggling a bit to come up with a >> >variable that represents a "head" of the metadata :/. Perhaps filename >> >would be enough in this case? >> > >> >I'd also suggest we remove this path when we save the siginfo file, not >> >when we load it and do the comparison. >> >> Yes, that's a better approach. I'll go that approach. > >Thanks, I'll wait for an updated patch. > >> That's my intention too. Above logic is to filter out native/cross dependencies. >> If we do that filter for native/cross tasks too, that means all dependencies >> would be wiped out which is not what we want since they all fall into the >> match group. That's why I add the initial condition to restrict the filtering on >> on target packages. :-) > >Ok, this makes sense. I merged it after adding in some comments to the >code. > >I've asked Paul to pull together a branch with all the changes in for >sstate and see how we stand. > > OK, I'll wait for that new branch to have another try. Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-03 22:11 ` Richard Purdie 2010-12-05 11:10 ` Tian, Kevin @ 2010-12-06 16:06 ` Paul Eggleton 2010-12-07 12:46 ` Richard Purdie 1 sibling, 1 reply; 29+ messages in thread From: Paul Eggleton @ 2010-12-06 16:06 UTC (permalink / raw) To: poky On Friday 03 December 2010 22:11:45 Richard Purdie wrote: > I notice a number of patches in your branches which shouldn't be needed > if we use the two patches at the head of: > > http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 > > Could you please test using those two changes, or let me know if those > changes cause problems. I just tested with your branch; it definitely obviates the need to exclude large amounts of variables, however BB_TASKHASH is still being included in the hash and this causes many mismatches. Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-06 16:06 ` Paul Eggleton @ 2010-12-07 12:46 ` Richard Purdie 2010-12-07 16:36 ` Paul Eggleton 0 siblings, 1 reply; 29+ messages in thread From: Richard Purdie @ 2010-12-07 12:46 UTC (permalink / raw) To: Paul Eggleton; +Cc: poky Hi Paul, On Mon, 2010-12-06 at 16:06 +0000, Paul Eggleton wrote: > On Friday 03 December 2010 22:11:45 Richard Purdie wrote: > > I notice a number of patches in your branches which shouldn't be needed > > if we use the two patches at the head of: > > > > http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 > > > > Could you please test using those two changes, or let me know if those > > changes cause problems. > > I just tested with your branch; it definitely obviates the need to > exclude large amounts of variables, however BB_TASKHASH is still being > included in the hash and this causes many mismatches. Agreed, I'll take that patch on its own, I just want to move carefully to the end result. Can you rebase your sstate branch onto master, pull in the above changes not already in master and lets see where we are? Cheers, Richard ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-07 12:46 ` Richard Purdie @ 2010-12-07 16:36 ` Paul Eggleton 2010-12-08 11:22 ` Tian, Kevin 0 siblings, 1 reply; 29+ messages in thread From: Paul Eggleton @ 2010-12-07 16:36 UTC (permalink / raw) To: poky On Tuesday 07 December 2010 12:46:36 Richard Purdie wrote: > Agreed, I'll take that patch on its own, I just want to move carefully > to the end result. > > Can you rebase your sstate branch onto master, pull in the above changes > not already in master and lets see where we are? Done - pushed to contrib paule/sstate. I have omitted Kevin's bitbake-diffsigs srcpath fix which is still being worked on. Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-07 16:36 ` Paul Eggleton @ 2010-12-08 11:22 ` Tian, Kevin 2010-12-08 11:31 ` Paul Eggleton 0 siblings, 1 reply; 29+ messages in thread From: Tian, Kevin @ 2010-12-08 11:22 UTC (permalink / raw) To: Paul Eggleton, poky@yoctoproject.org >From: Paul Eggleton >Sent: Wednesday, December 08, 2010 12:37 AM > >On Tuesday 07 December 2010 12:46:36 Richard Purdie wrote: >> Agreed, I'll take that patch on its own, I just want to move carefully >> to the end result. >> >> Can you rebase your sstate branch onto master, pull in the above changes >> not already in master and lets see where we are? > >Done - pushed to contrib paule/sstate. I have omitted Kevin's bitbake-diffsigs srcpath fix >which is still being worked on. > The weird behavior I saw yesterday is still there: lots of recipes (such as gzip-native) are rebuilt when I build poky-image-minimal, which however finally ends up to override my sstate cache with same checksums. If I end the build when it finished setscene stage, and then simply build tasks in the runqueue such as gzip-native, git-native, . It just succeeds by reusing sstate package. Quite strange... Still look into it now. Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 11:22 ` Tian, Kevin @ 2010-12-08 11:31 ` Paul Eggleton 2010-12-08 11:41 ` Tian, Kevin 0 siblings, 1 reply; 29+ messages in thread From: Paul Eggleton @ 2010-12-08 11:31 UTC (permalink / raw) To: poky On Wednesday 08 December 2010 11:22:40 Tian, Kevin wrote: > The weird behavior I saw yesterday is still there: lots of recipes (such as gzip-native) are > rebuilt when I build poky-image-minimal, which however finally ends up to override my > sstate cache with same checksums. > > If I end the build when it finished setscene stage, and then simply build tasks in the runqueue > such as gzip-native, git-native, . It just succeeds by reusing sstate package. > > Quite strange... Still look into it now. Oops, it appears that I pushed the wrong branch to paule/sstate yesterday. I've re-pushed a new one which actually includes the variable whitelisting changes. Sorry about that! Cheers, Paul ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-08 11:31 ` Paul Eggleton @ 2010-12-08 11:41 ` Tian, Kevin 0 siblings, 0 replies; 29+ messages in thread From: Tian, Kevin @ 2010-12-08 11:41 UTC (permalink / raw) To: Paul Eggleton, poky@yoctoproject.org >From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] >Sent: Wednesday, December 08, 2010 7:32 PM > >On Wednesday 08 December 2010 11:22:40 Tian, Kevin wrote: >> The weird behavior I saw yesterday is still there: lots of recipes (such as gzip-native) are >> rebuilt when I build poky-image-minimal, which however finally ends up to override my >> sstate cache with same checksums. >> >> If I end the build when it finished setscene stage, and then simply build tasks in the >runqueue >> such as gzip-native, git-native, . It just succeeds by reusing sstate package. >> >> Quite strange... Still look into it now. > >Oops, it appears that I pushed the wrong branch to paule/sstate yesterday. I've re-pushed >a new one which actually includes the variable whitelisting changes. Do we still need those variable whitelisting changes? Based on original branch you pushed (basically RP's branch rebased on master imo), I think it basically works at least for a single recipe build though above weird issue exists for image build. Of course we need keep some bitbake specific variables in whitelist, such as DATE, TIME and several others you added in last commit. On the other hand, did you observe my issue on this new push? I want to understand its root cause, which is really funny. > >Sorry about that! > No problem. :-) Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-03 16:34 Paul Eggleton 2010-12-03 22:11 ` Richard Purdie @ 2010-12-03 23:31 ` Gary Thomas 2010-12-04 12:47 ` Gary Thomas 2010-12-05 11:07 ` Tian, Kevin 2 siblings, 1 reply; 29+ messages in thread From: Gary Thomas @ 2010-12-03 23:31 UTC (permalink / raw) To: Paul Eggleton; +Cc: poky On 12/03/2010 09:34 AM, Paul Eggleton wrote: > Hi all, > > I've been doing some tests with sstate, and I've managed to get to a stage where I can share the SSTATE_DIR between my two machines (one running Fedora 14 and the other Kubuntu 10.10) and almost get a successful build from a clean TMPDIR. My last test got to poky-image-minimal.do_rootfs and then failed due to some kind of package dependency issue: > > --------- snip --------- > | Processing rpm... > | Processing zypper... > | error: Failed dependencies: > | elfutils>= 0.148 is needed by rpm-5.1.10-r7.i586 > | libaugeas0>= 0.7.3 is needed by zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 > | ERROR: Task failed: ('function do_rootfs failed', '/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6874') > --------- snip --------- > > A "bitbake -c clean augeas elfutils" and then "bitbake poky-image-minimal" again went through OK (and built the aforementioned recipes from sstate) , so I'm not sure what went wrong here. > > My current state of work is in the paule/sstate contrib branch, which is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can move this towards master the better, then we can get some wider testing. > > FYI Joshua has made bug #507 into a tracking bug for current sstate issues: > http://bugzilla.pokylinux.org/show_bug.cgi?id=507 I gave this a simple try and it failed miserably. Working from a copy of Paul's branch in poky-contrib, here's what I did: * On machine A (x86 Fedora 11) % bitbake poky-image-minimal * On machine B (x86 Fedora 13) -- Copy sstate-cache from machine A to /tmp/sstate-cache (rsync with all perms & timestamps preserved) -- Using the identical conf/local.conf file from machine A, except I set up SSTATE_MIRRORS like this SSTATE_MIRRORS ?= "\ file://.* file:///tmp/sstate-cache/" % bitbake poky-image-minimal Fell apart pretty badly. Look at the output http://www.mlbassoc.com/poky/poky_with_sstate.out Also, it seemed to be rebuilding a lot of packages. IMO, there's no reason it should have to rebuild _any_ -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-03 23:31 ` Gary Thomas @ 2010-12-04 12:47 ` Gary Thomas 2010-12-05 11:19 ` Tian, Kevin 0 siblings, 1 reply; 29+ messages in thread From: Gary Thomas @ 2010-12-04 12:47 UTC (permalink / raw) To: Paul Eggleton; +Cc: poky On 12/03/2010 04:31 PM, Gary Thomas wrote: > On 12/03/2010 09:34 AM, Paul Eggleton wrote: >> Hi all, >> >> I've been doing some tests with sstate, and I've managed to get to a >> stage where I can share the SSTATE_DIR between my two machines (one >> running Fedora 14 and the other Kubuntu 10.10) and almost get a >> successful build from a clean TMPDIR. My last test got to >> poky-image-minimal.do_rootfs and then failed due to some kind of >> package dependency issue: >> >> --------- snip --------- >> | Processing rpm... >> | Processing zypper... >> | error: Failed dependencies: >> | elfutils>= 0.148 is needed by rpm-5.1.10-r7.i586 >> | libaugeas0>= 0.7.3 is needed by >> zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 >> | ERROR: Task failed: ('function do_rootfs failed', >> '/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6874') >> >> --------- snip --------- >> >> A "bitbake -c clean augeas elfutils" and then "bitbake >> poky-image-minimal" again went through OK (and built the >> aforementioned recipes from sstate) , so I'm not sure what went wrong >> here. >> >> My current state of work is in the paule/sstate contrib branch, which >> is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can >> move this towards master the better, then we can get some wider testing. >> >> FYI Joshua has made bug #507 into a tracking bug for current sstate >> issues: >> http://bugzilla.pokylinux.org/show_bug.cgi?id=507 > > I gave this a simple try and it failed miserably. Working from a copy of > Paul's branch in poky-contrib, here's what I did: > > * On machine A (x86 Fedora 11) > % bitbake poky-image-minimal > > * On machine B (x86 Fedora 13) > -- Copy sstate-cache from machine A to /tmp/sstate-cache (rsync with > all perms & timestamps preserved) > -- Using the identical conf/local.conf file from machine A, except > I set up SSTATE_MIRRORS like this > SSTATE_MIRRORS ?= "\ > file://.* file:///tmp/sstate-cache/" > % bitbake poky-image-minimal > > Fell apart pretty badly. Look at the output > http://www.mlbassoc.com/poky/poky_with_sstate.out > > Also, it seemed to be rebuilding a lot of packages. IMO, there's > no reason it should have to rebuild _any_ > One thing that seems to be significant is the base build directory path. In the case above, they did not match, i.e. * On machine A, BUILDDIR=/tmp/sstate_testing * On machine B, BUILDDIR=/home/local/my_sstate_test I tried it this way as it matches my [customer's] expected usage. I've rerun the experiment again where I used identical paths on both machines and the results were vastly improved. It still takes a horrible length of time (64 minutes on a fast 4 processor box) and rebuilds way to many packages for just replaying what's already been done though (IMO). Results are at http://www.mlbassoc.com/poky/poky_with_sstate_same_paths.out -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-04 12:47 ` Gary Thomas @ 2010-12-05 11:19 ` Tian, Kevin 2010-12-05 12:02 ` Gary Thomas 0 siblings, 1 reply; 29+ messages in thread From: Tian, Kevin @ 2010-12-05 11:19 UTC (permalink / raw) To: Gary Thomas, Paul Eggleton; +Cc: poky@yoctoproject.org >From: Gary Thomas >Sent: Saturday, December 04, 2010 8:48 PM > >On 12/03/2010 04:31 PM, Gary Thomas wrote: >> On 12/03/2010 09:34 AM, Paul Eggleton wrote: >>> Hi all, >>> >>> I've been doing some tests with sstate, and I've managed to get to a >>> stage where I can share the SSTATE_DIR between my two machines (one >>> running Fedora 14 and the other Kubuntu 10.10) and almost get a >>> successful build from a clean TMPDIR. My last test got to >>> poky-image-minimal.do_rootfs and then failed due to some kind of >>> package dependency issue: >>> >>> --------- snip --------- >>> | Processing rpm... >>> | Processing zypper... >>> | error: Failed dependencies: >>> | elfutils>= 0.148 is needed by rpm-5.1.10-r7.i586 >>> | libaugeas0>= 0.7.3 is needed by >>> zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 >>> | ERROR: Task failed: ('function do_rootfs failed', >>> >'/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log. >do_rootfs.6874') >>> >>> --------- snip --------- >>> >>> A "bitbake -c clean augeas elfutils" and then "bitbake >>> poky-image-minimal" again went through OK (and built the >>> aforementioned recipes from sstate) , so I'm not sure what went wrong >>> here. >>> >>> My current state of work is in the paule/sstate contrib branch, which >>> is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can >>> move this towards master the better, then we can get some wider testing. >>> >>> FYI Joshua has made bug #507 into a tracking bug for current sstate >>> issues: >>> http://bugzilla.pokylinux.org/show_bug.cgi?id=507 >> >> I gave this a simple try and it failed miserably. Working from a copy of >> Paul's branch in poky-contrib, here's what I did: >> >> * On machine A (x86 Fedora 11) >> % bitbake poky-image-minimal >> >> * On machine B (x86 Fedora 13) >> -- Copy sstate-cache from machine A to /tmp/sstate-cache (rsync with >> all perms & timestamps preserved) >> -- Using the identical conf/local.conf file from machine A, except >> I set up SSTATE_MIRRORS like this >> SSTATE_MIRRORS ?= "\ >> file://.* file:///tmp/sstate-cache/" >> % bitbake poky-image-minimal >> >> Fell apart pretty badly. Look at the output >> http://www.mlbassoc.com/poky/poky_with_sstate.out >> >> Also, it seemed to be rebuilding a lot of packages. IMO, there's >> no reason it should have to rebuild _any_ >> > >One thing that seems to be significant is the base build directory path. >In the case above, they did not match, i.e. > * On machine A, BUILDDIR=/tmp/sstate_testing > * On machine B, BUILDDIR=/home/local/my_sstate_test >I tried it this way as it matches my [customer's] expected usage. I think in usual case the directory paths would mismatch. So let's stick to that configuration to expose more issues. In my previous debug, I have made it in a good shape but would now turn to RP's branch to try more experiments. It would be good if you also try that one: http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 > >I've rerun the experiment again where I used identical paths on both >machines and the results were vastly improved. It still takes a horrible >length of time (64 minutes on a fast 4 processor box) and rebuilds way to >many packages for just replaying what's already been done though (IMO). >Results are at > http://www.mlbassoc.com/poky/poky_with_sstate_same_paths.out > In my run ~25min are consumed just for sstate check/installation on a NHM 4-core box. then several minutes for rootfs generation if two builds totally match. the slow sstate phase comes from same reason as a slow build - the 'exec' overhead. I use 'sato' as the target. In your case, however there're still some packages rebuilt, such as gzip-native, unifdef-native, eglibc-initial, ncurses, etc. and also gcc related packages are rebuilt which just consumes time. Has your source tree changed between the two builds? Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-05 11:19 ` Tian, Kevin @ 2010-12-05 12:02 ` Gary Thomas 2010-12-06 11:19 ` Gary Thomas [not found] ` <4CFCC607.9040803@mlbassoc.com> 0 siblings, 2 replies; 29+ messages in thread From: Gary Thomas @ 2010-12-05 12:02 UTC (permalink / raw) To: Tian, Kevin; +Cc: Paul Eggleton, poky@yoctoproject.org On 12/05/2010 04:19 AM, Tian, Kevin wrote: >> From: Gary Thomas >> Sent: Saturday, December 04, 2010 8:48 PM >> >> On 12/03/2010 04:31 PM, Gary Thomas wrote: >>> On 12/03/2010 09:34 AM, Paul Eggleton wrote: >>>> Hi all, >>>> >>>> I've been doing some tests with sstate, and I've managed to get to a >>>> stage where I can share the SSTATE_DIR between my two machines (one >>>> running Fedora 14 and the other Kubuntu 10.10) and almost get a >>>> successful build from a clean TMPDIR. My last test got to >>>> poky-image-minimal.do_rootfs and then failed due to some kind of >>>> package dependency issue: >>>> >>>> --------- snip --------- >>>> | Processing rpm... >>>> | Processing zypper... >>>> | error: Failed dependencies: >>>> | elfutils>= 0.148 is needed by rpm-5.1.10-r7.i586 >>>> | libaugeas0>= 0.7.3 is needed by >>>> zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 >>>> | ERROR: Task failed: ('function do_rootfs failed', >>>> >> '/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log. >> do_rootfs.6874') >>>> >>>> --------- snip --------- >>>> >>>> A "bitbake -c clean augeas elfutils" and then "bitbake >>>> poky-image-minimal" again went through OK (and built the >>>> aforementioned recipes from sstate) , so I'm not sure what went wrong >>>> here. >>>> >>>> My current state of work is in the paule/sstate contrib branch, which >>>> is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can >>>> move this towards master the better, then we can get some wider testing. >>>> >>>> FYI Joshua has made bug #507 into a tracking bug for current sstate >>>> issues: >>>> http://bugzilla.pokylinux.org/show_bug.cgi?id=507 >>> >>> I gave this a simple try and it failed miserably. Working from a copy of >>> Paul's branch in poky-contrib, here's what I did: >>> >>> * On machine A (x86 Fedora 11) >>> % bitbake poky-image-minimal >>> >>> * On machine B (x86 Fedora 13) >>> -- Copy sstate-cache from machine A to /tmp/sstate-cache (rsync with >>> all perms& timestamps preserved) >>> -- Using the identical conf/local.conf file from machine A, except >>> I set up SSTATE_MIRRORS like this >>> SSTATE_MIRRORS ?= "\ >>> file://.* file:///tmp/sstate-cache/" >>> % bitbake poky-image-minimal >>> >>> Fell apart pretty badly. Look at the output >>> http://www.mlbassoc.com/poky/poky_with_sstate.out >>> >>> Also, it seemed to be rebuilding a lot of packages. IMO, there's >>> no reason it should have to rebuild _any_ >>> >> >> One thing that seems to be significant is the base build directory path. >> In the case above, they did not match, i.e. >> * On machine A, BUILDDIR=/tmp/sstate_testing >> * On machine B, BUILDDIR=/home/local/my_sstate_test >> I tried it this way as it matches my [customer's] expected usage. > > I think in usual case the directory paths would mismatch. So let's stick to that > configuration to expose more issues. In my previous debug, I have made it > in a good shape but would now turn to RP's branch to try more experiments. > > It would be good if you also try that one: > http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 > >> >> I've rerun the experiment again where I used identical paths on both >> machines and the results were vastly improved. It still takes a horrible >> length of time (64 minutes on a fast 4 processor box) and rebuilds way to >> many packages for just replaying what's already been done though (IMO). >> Results are at >> http://www.mlbassoc.com/poky/poky_with_sstate_same_paths.out >> > > In my run ~25min are consumed just for sstate check/installation on a NHM 4-core box. > then several minutes for rootfs generation if two builds totally match. the slow sstate > phase comes from same reason as a slow build - the 'exec' overhead. I use 'sato' as > the target. > > In your case, however there're still some packages rebuilt, such as gzip-native, > unifdef-native, eglibc-initial, ncurses, etc. and also gcc related packages are rebuilt > which just consumes time. Has your source tree changed between the two builds? Do, identical source trees for all three runs. I'll try it again later today with Richard's tree. -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-05 12:02 ` Gary Thomas @ 2010-12-06 11:19 ` Gary Thomas [not found] ` <4CFCC607.9040803@mlbassoc.com> 1 sibling, 0 replies; 29+ messages in thread From: Gary Thomas @ 2010-12-06 11:19 UTC (permalink / raw) To: Poky On 12/05/2010 05:02 AM, Gary Thomas wrote: > On 12/05/2010 04:19 AM, Tian, Kevin wrote: >>> From: Gary Thomas >>> Sent: Saturday, December 04, 2010 8:48 PM >>> >>> On 12/03/2010 04:31 PM, Gary Thomas wrote: >>>> On 12/03/2010 09:34 AM, Paul Eggleton wrote: >>>>> Hi all, >>>>> >>>>> I've been doing some tests with sstate, and I've managed to get to a >>>>> stage where I can share the SSTATE_DIR between my two machines (one >>>>> running Fedora 14 and the other Kubuntu 10.10) and almost get a >>>>> successful build from a clean TMPDIR. My last test got to >>>>> poky-image-minimal.do_rootfs and then failed due to some kind of >>>>> package dependency issue: >>>>> >>>>> --------- snip --------- >>>>> | Processing rpm... >>>>> | Processing zypper... >>>>> | error: Failed dependencies: >>>>> | elfutils>= 0.148 is needed by rpm-5.1.10-r7.i586 >>>>> | libaugeas0>= 0.7.3 is needed by >>>>> zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 >>>>> | ERROR: Task failed: ('function do_rootfs failed', >>>>> >>> '/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log. >>> do_rootfs.6874') >>>>> >>>>> --------- snip --------- >>>>> >>>>> A "bitbake -c clean augeas elfutils" and then "bitbake >>>>> poky-image-minimal" again went through OK (and built the >>>>> aforementioned recipes from sstate) , so I'm not sure what went wrong >>>>> here. >>>>> >>>>> My current state of work is in the paule/sstate contrib branch, which >>>>> is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can >>>>> move this towards master the better, then we can get some wider testing. >>>>> >>>>> FYI Joshua has made bug #507 into a tracking bug for current sstate >>>>> issues: >>>>> http://bugzilla.pokylinux.org/show_bug.cgi?id=507 >>>> >>>> I gave this a simple try and it failed miserably. Working from a copy of >>>> Paul's branch in poky-contrib, here's what I did: >>>> >>>> * On machine A (x86 Fedora 11) >>>> % bitbake poky-image-minimal >>>> >>>> * On machine B (x86 Fedora 13) >>>> -- Copy sstate-cache from machine A to /tmp/sstate-cache (rsync with >>>> all perms& timestamps preserved) >>>> -- Using the identical conf/local.conf file from machine A, except >>>> I set up SSTATE_MIRRORS like this >>>> SSTATE_MIRRORS ?= "\ >>>> file://.* file:///tmp/sstate-cache/" >>>> % bitbake poky-image-minimal >>>> >>>> Fell apart pretty badly. Look at the output >>>> http://www.mlbassoc.com/poky/poky_with_sstate.out >>>> >>>> Also, it seemed to be rebuilding a lot of packages. IMO, there's >>>> no reason it should have to rebuild _any_ >>>> >>> >>> One thing that seems to be significant is the base build directory path. >>> In the case above, they did not match, i.e. >>> * On machine A, BUILDDIR=/tmp/sstate_testing >>> * On machine B, BUILDDIR=/home/local/my_sstate_test >>> I tried it this way as it matches my [customer's] expected usage. >> >> I think in usual case the directory paths would mismatch. So let's stick to that >> configuration to expose more issues. In my previous debug, I have made it >> in a good shape but would now turn to RP's branch to try more experiments. >> >> It would be good if you also try that one: >> http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 >> >>> >>> I've rerun the experiment again where I used identical paths on both >>> machines and the results were vastly improved. It still takes a horrible >>> length of time (64 minutes on a fast 4 processor box) and rebuilds way to >>> many packages for just replaying what's already been done though (IMO). >>> Results are at >>> http://www.mlbassoc.com/poky/poky_with_sstate_same_paths.out >>> >> >> In my run ~25min are consumed just for sstate check/installation on a NHM 4-core box. >> then several minutes for rootfs generation if two builds totally match. the slow sstate >> phase comes from same reason as a slow build - the 'exec' overhead. I use 'sato' as >> the target. >> >> In your case, however there're still some packages rebuilt, such as gzip-native, >> unifdef-native, eglibc-initial, ncurses, etc. and also gcc related packages are rebuilt >> which just consumes time. Has your source tree changed between the two builds? > > No, identical source trees for all three runs. > > I'll try it again later today with Richard's tree. > I've now rerun this with Richard's tweak2 changes, building in completely different tree paths. While it did work, I don't see the point as it took even longer the second time (using the sstate cache) and generated just as much work :-( Something is still not working as desired. Original 'bitbake poky-image-minimal' into /tmp/sstate_testing time - 111 minutes space - 22.9 GB (in tmp) Rerun, using the sstate-cache from the first run time - 114 minutes space - 21.7 GB I think this last line from the rerun test is telling: NOTE: Tasks Summary: Attempted 1621 tasks of which 282 didn't need to be rerun and 0 failed. -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 29+ messages in thread
[parent not found: <4CFCC607.9040803@mlbassoc.com>]
* Re: sstate status [not found] ` <4CFCC607.9040803@mlbassoc.com> @ 2010-12-07 7:17 ` Tian, Kevin 0 siblings, 0 replies; 29+ messages in thread From: Tian, Kevin @ 2010-12-07 7:17 UTC (permalink / raw) To: Gary Thomas; +Cc: Paul Eggleton, poky@pokylinux.org, Purdie, Richard >From: Gary Thomas [mailto:gary@mlbassoc.com] >Sent: Monday, December 06, 2010 7:16 PM > >On 12/05/2010 05:02 AM, Gary Thomas wrote: >> On 12/05/2010 04:19 AM, Tian, Kevin wrote: >>>> From: Gary Thomas >>>> Sent: Saturday, December 04, 2010 8:48 PM >>>> >>>> On 12/03/2010 04:31 PM, Gary Thomas wrote: >>>>> On 12/03/2010 09:34 AM, Paul Eggleton wrote: >>>>>> Hi all, >>>>>> >>>>>> I've been doing some tests with sstate, and I've managed to get to a >>>>>> stage where I can share the SSTATE_DIR between my two machines (one >>>>>> running Fedora 14 and the other Kubuntu 10.10) and almost get a >>>>>> successful build from a clean TMPDIR. My last test got to >>>>>> poky-image-minimal.do_rootfs and then failed due to some kind of >>>>>> package dependency issue: >>>>>> >>>>>> --------- snip --------- >>>>>> | Processing rpm... >>>>>> | Processing zypper... >>>>>> | error: Failed dependencies: >>>>>> | elfutils>= 0.148 is needed by rpm-5.1.10-r7.i586 >>>>>> | libaugeas0>= 0.7.3 is needed by >>>>>> zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 >>>>>> | ERROR: Task failed: ('function do_rootfs failed', >>>>>> >>>> >'/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log. >>>> do_rootfs.6874') >>>>>> >>>>>> --------- snip --------- >>>>>> >>>>>> A "bitbake -c clean augeas elfutils" and then "bitbake >>>>>> poky-image-minimal" again went through OK (and built the >>>>>> aforementioned recipes from sstate) , so I'm not sure what went wrong >>>>>> here. >>>>>> >>>>>> My current state of work is in the paule/sstate contrib branch, which >>>>>> is based on Kevin's tk/sstate branch. Kevin, I think the sooner we can >>>>>> move this towards master the better, then we can get some wider testing. >>>>>> >>>>>> FYI Joshua has made bug #507 into a tracking bug for current sstate >>>>>> issues: >>>>>> http://bugzilla.pokylinux.org/show_bug.cgi?id=507 >>>>> >>>>> I gave this a simple try and it failed miserably. Working from a copy of >>>>> Paul's branch in poky-contrib, here's what I did: >>>>> >>>>> * On machine A (x86 Fedora 11) >>>>> % bitbake poky-image-minimal >>>>> >>>>> * On machine B (x86 Fedora 13) >>>>> -- Copy sstate-cache from machine A to /tmp/sstate-cache (rsync with >>>>> all perms& timestamps preserved) >>>>> -- Using the identical conf/local.conf file from machine A, except >>>>> I set up SSTATE_MIRRORS like this >>>>> SSTATE_MIRRORS ?= "\ >>>>> file://.* file:///tmp/sstate-cache/" >>>>> % bitbake poky-image-minimal >>>>> >>>>> Fell apart pretty badly. Look at the output >>>>> http://www.mlbassoc.com/poky/poky_with_sstate.out >>>>> >>>>> Also, it seemed to be rebuilding a lot of packages. IMO, there's >>>>> no reason it should have to rebuild _any_ >>>>> >>>> >>>> One thing that seems to be significant is the base build directory path. >>>> In the case above, they did not match, i.e. >>>> * On machine A, BUILDDIR=/tmp/sstate_testing >>>> * On machine B, BUILDDIR=/home/local/my_sstate_test >>>> I tried it this way as it matches my [customer's] expected usage. >>> >>> I think in usual case the directory paths would mismatch. So let's stick to that >>> configuration to expose more issues. In my previous debug, I have made it >>> in a good shape but would now turn to RP's branch to try more experiments. >>> >>> It would be good if you also try that one: >>> http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/tweaks2 >>> >>>> >>>> I've rerun the experiment again where I used identical paths on both >>>> machines and the results were vastly improved. It still takes a horrible >>>> length of time (64 minutes on a fast 4 processor box) and rebuilds way to >>>> many packages for just replaying what's already been done though (IMO). >>>> Results are at >>>> http://www.mlbassoc.com/poky/poky_with_sstate_same_paths.out >>>> >>> >>> In my run ~25min are consumed just for sstate check/installation on a NHM 4-core box. >>> then several minutes for rootfs generation if two builds totally match. the slow sstate >>> phase comes from same reason as a slow build - the 'exec' overhead. I use 'sato' as >>> the target. >>> >>> In your case, however there're still some packages rebuilt, such as gzip-native, >>> unifdef-native, eglibc-initial, ncurses, etc. and also gcc related packages are rebuilt >>> which just consumes time. Has your source tree changed between the two builds? >> >> No, identical source trees for all three runs. >> >> I'll try it again later today with Richard's tree. >> > >I've now rerun this with Richard's tweak2 changes, building in completely >different tree paths. While it did work, I don't see the point as it took >even longer the second time (using the sstate cache) and generated just as >much work :-( Something is still not working as desired. > >Original 'bitbake poky-image-minimal' into /tmp/sstate_testing > time - 111 minutes > space - 22.9 GB (in tmp) > >Rerun, using the sstate-cache from the first run > time - 114 minutes > space - 21.7 GB > >I think this last line from the rerun test is telling: > NOTE: Tasks Summary: Attempted 1621 tasks of which 282 didn't need to be rerun and >0 failed. I have " Attempted 1621 tasks of which 953 didn't need to be rerun and 0 failed." It should come from the fact that I use same source directory this time. I have one fix for difference source tree in my previous branch, which is still under discussion with RP and not in RP's branch yet. So sorry for inconvenience. I should raise the info earlier. Although that, I took a quick look of my build. The thing is a bit weird. It's similar to your previous result with Paul's branch, that many recipes are rebuilt though they're claimed to be accelerable, such as gzip-native, unifdef-native, etc. The result is that new sstate packages are generated to simply override old one. They DO have same checksum because only one version exists with new timestamp. I didn't look into recent commits yet. It looks that the checksum calculated at setscene stage is different than the one finally written into sstate package. Thanks Kevin ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: sstate status 2010-12-03 16:34 Paul Eggleton 2010-12-03 22:11 ` Richard Purdie 2010-12-03 23:31 ` Gary Thomas @ 2010-12-05 11:07 ` Tian, Kevin 2 siblings, 0 replies; 29+ messages in thread From: Tian, Kevin @ 2010-12-05 11:07 UTC (permalink / raw) To: Paul Eggleton, poky@yoctoproject.org >From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] >Sent: Saturday, December 04, 2010 12:35 AM > >Hi all, > >I've been doing some tests with sstate, and I've managed to get to a stage where I can >share the SSTATE_DIR between my two machines (one running Fedora 14 and the other >Kubuntu 10.10) and almost get a successful build from a clean TMPDIR. My last test got to >poky-image-minimal.do_rootfs and then failed due to some kind of package dependency >issue: > >--------- snip --------- >| Processing rpm... >| Processing zypper... >| error: Failed dependencies: >| elfutils >= 0.148 is needed by rpm-5.1.10-r7.i586 >| libaugeas0 >= 0.7.3 is needed by >zypper-1.4.7+git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r1.i586 >| ERROR: Task failed: ('function do_rootfs failed', >'/home/pokystuff/tmp/work/qemux86-poky-linux/poky-image-minimal-1.0-r0/temp/log. >do_rootfs.6874') >--------- snip --------- > >A "bitbake -c clean augeas elfutils" and then "bitbake poky-image-minimal" again went >through OK (and built the aforementioned recipes from sstate) , so I'm not sure what went >wrong here. > >My current state of work is in the paule/sstate contrib branch, which is based on Kevin's >tk/sstate branch. Kevin, I think the sooner we can move this towards master the better, >then we can get some wider testing. Thanks for your fixes. I made some mistakes when occasionally rebase and smash my commits with master and it's good that you caught them. I agree that we need make it into master as early as possible. I saw Richard has pushed some different enhancements. Let's give it some tests then. Thanks Kevin > >FYI Joshua has made bug #507 into a tracking bug for current sstate issues: >http://bugzilla.pokylinux.org/show_bug.cgi?id=507 > ^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2010-12-08 17:14 UTC | newest]
Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-08 14:02 sstate status Paul Eggleton
2010-12-08 14:06 ` Paul Eggleton
2010-12-08 14:15 ` Tian, Kevin
2010-12-08 14:50 ` Paul Eggleton
2010-12-08 14:52 ` Tian, Kevin
2010-12-08 14:41 ` Gary Thomas
2010-12-08 15:31 ` Gary Thomas
2010-12-08 15:55 ` Paul Eggleton
2010-12-08 17:14 ` Paul Eggleton
-- strict thread matches above, loose matches on Subject: below --
2010-12-03 16:34 Paul Eggleton
2010-12-03 22:11 ` Richard Purdie
2010-12-05 11:10 ` Tian, Kevin
2010-12-06 1:29 ` Richard Purdie
2010-12-07 7:46 ` Tian, Kevin
2010-12-07 15:02 ` Richard Purdie
2010-12-08 0:40 ` Tian, Kevin
2010-12-06 16:06 ` Paul Eggleton
2010-12-07 12:46 ` Richard Purdie
2010-12-07 16:36 ` Paul Eggleton
2010-12-08 11:22 ` Tian, Kevin
2010-12-08 11:31 ` Paul Eggleton
2010-12-08 11:41 ` Tian, Kevin
2010-12-03 23:31 ` Gary Thomas
2010-12-04 12:47 ` Gary Thomas
2010-12-05 11:19 ` Tian, Kevin
2010-12-05 12:02 ` Gary Thomas
2010-12-06 11:19 ` Gary Thomas
[not found] ` <4CFCC607.9040803@mlbassoc.com>
2010-12-07 7:17 ` Tian, Kevin
2010-12-05 11:07 ` Tian, Kevin
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.