Created attachment 1874 [details] Sstate archives only in build/sstate-cache, not build2/sstate-cache It seems that doing a build using an sstate mirror results in an SSTATE_DIR which is missing archives that are necessary to do a build entirely from sstate. How it manages to successfully complete a build without things it seems to think are required, is a question I'd like to find the answer to. Reproduction steps: - source poky/oe-init-build-env build - bitbake core-image-minimal # populate from scratch - exit - source poky/oe-init-build-env build2 - echo "SSTATE_MIRRORS = 'file://.* file://${TOPDIR}/../build/sstate-cache \n '" >conf/auto.conf - bitbake core-image-base - find tmp*/stamps/ -type f | grep -Ev '(setscene|do_build|do_package_write|do_rootfs)' # note that there's no output here, it built entirely from sstate using the mirror - sed -i -e '/SSTATE_MIRRORS/s/^/#/' conf/auto.conf - bitbake -S printdiff core-image-base # note the many differences found, particularly in do_fetch, but no details - exit - source poky/oe-init-build-env build3 # to keep the broken build2 sstate-cache isolated - echo "SSTATE_MIRRORS = 'file://.* file://${TOPDIR}/../build2/sstate-cache \n '" >conf/auto.conf - bitbake core-image-minimal # Watch it use a ton of setscenes, but still rebuild nearly everything from scratch If you compare build/sstate-cache to build2/sstate-cache at a file level, you'll see the files listed in the attachment exist only in the from scratch build, but not in build2.
Created attachment 1875 [details] -S printdiff
Created attachment 1876 [details] Log from build/
Created attachment 1877 [details] Log from build2/
Created attachment 1878 [details] Log from build3/ (interrupted once it started compiling things)
Just to put some observations into the notes: a) the printdiff shows what it does since there is no intermediate task data in build2 and hence it has no comparison reference point. b) this bug reproduces simply with "bitbake eglibc" instead of "core-image-minimal" which makes the issue a little easier to work with
Resolved with http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=cd8541bbfc750d6e46b901a81bcc5636390f6122 "bitbake -p; bitbake eglibc -DDD" in build2 and build3, then diffing the result (sedding out the build path differences) helped a lot
Verified, thanks for the quick fix.