Fixed
Created: Mar 19, 2013
Updated: Mar 10, 2016
Resolved Date: Dec 3, 2013
Previous ID: LIN5-4523, LIN6-3008
Found In Version: 6.0
Fix Version: 6.0
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: Build & Config
Problem Description
======================
The packages are always force recompiled from source even nothing been changed.
Get compile info from console output as following:
NOTE: Tainting hash to force rebuild of task /path/to/pkg_ver.bb, do_compile
For example:
$ configure --enable-board=qemux86-64 --enable-kernel=standard --enable-rootfs=glibc-small --enable-parallel-pkgbuilds=5 --enable-jobs=5
$ make fs
Check the sstate files:
$ ls bitbake_build/sstate-cache/ | grep busybox | grep -v siginfo
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-5726df36565f748e401ebe946c990996_populate-sysroot.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-7355aafd3c7f4cd25c0b49b0e4f35722_populate-lic.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-85622ba5f40800dab73466d430d1c358_package.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-c7239ab85beb390fa56918de984b3733_deploy-rpm.tgz
$ make -C build busybox
The busybox is recompiled from source, which can be seen in the console output:
NOTE: Tainting hash to force rebuild of task /buildarea/build/lx08a-prjs/qemux86-64/layers/oe-core/meta/recipes-core/busybox/busybox_1.19.4.bb, do_compile
Check the sstate files again, new sstates are generated.
$ ls bitbake_build/sstate-cache/ | grep busybox | grep -v siginfo
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-0cc208d477162f22a1f7453a518ca77a_populate-sysroot.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-5726df36565f748e401ebe946c990996_populate-sysroot.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-7355aafd3c7f4cd25c0b49b0e4f35722_populate-lic.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-85622ba5f40800dab73466d430d1c358_package.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-8cb5735c1b1936fb13adb0dd1be8eebd_deploy-rpm.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-8f9c7d32f643ae40b8d22cdbbd25e7d9_package.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-b08c0ca60662bd2ec2a971dc128a157c_populate-sysroot.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-c7239ab85beb390fa56918de984b3733_deploy-rpm.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-ef6326dd9b9820ade6fc5c3600c79821_deploy-rpm.tgz
sstate-busybox-x86_64-wrs-linux-1.19.4-r17-x86_64-2-f010a69602d4647dab0cbb9fcd229643_package.tgz
Build the same package again and again, it always been built from source.
Expected Behavior
======================
The package shouldn't be recompiled from source if nothing is changed.
Observed Behavior
======================
Sames the checksum are changed each time to build a package, even nothing is changed.
Logs
======================
See above.
Misc Info
======================
The problem is introduced in spin lx07_5011, sstate cache worked as expect in previous spin lx04_5011.
step 1; configure --enable-board=qemux86-64 --enable-kernel=standard --enable-rootfs=glibc-small --enable-parallel-pkgbuilds=5 --enable-jobs=5
step 2; make fs
step 3; make -C build busybox
step 4; make -C build busybox
step 5; make -C build busybox
Notice that the package will be rebuilt from source each time.