Hi, I'm looking for some advice on how to track down why sstate cache isn't being used in some builds for some recipes/tasks.
I don't have a specific problem right now but I often run into a scenario where builds are taking much longer than expected on a developers machine. It usually comes down to an early dependency having changed for some reason (for example a recent one was a sneaky build path dependency in a Xilinx recipe). To complicate things we: - Build across many machines (developers and build servers etc). - Have multiple sstate caches (developer local, our network cache, Xilinx internet cache). - Have multiple boards that build with largely overlapping sets of recipes but differ in the contents of a few low level ones like the device tree (which is a dependency of the kernel so the kernel changes, then our drivers change, then our applications change, etc). This makes finding the sstate cache file that hasn't been used this time (when it normally would be) hard to identify as there are often lots of versions of cache for a single recipe in the various caches. - Have a few recipes that will change almost every build (putting build version numbers into the image for example). - Use Xilinx PetaLinux tools. What is the best way of tracking down the specific task that has changed and caused a whole swathe of others to rebuild? Currently I have a mostly manual process of try and guess the earliest recipes (by looking at the first few non-setscene tasks in the logs). Then compare the stamps against the relevant siginfo files in the various caches and try to find the most recent one, which i can then bitbake-diffsigs against to find a difference. Often this is in a dependency and then I have to manually track the changes again till I find a concrete difference to investigate. I've tried to write my own tool to investigate but not gotten very far as I run into the complexities of the sstate and trying to work out things like the SSTATE_VERSION and SSTATE_PKGARCH. I also can't see a good way of searching the webserver that hosts the sstate cache for a near miss cache file as I won't know the checksum from the build! I feel like i must be missing an easier way here? Or I'm going about this in the wrong way? Any advice would be greatly appreciated. Best Regards, Phil Dawson
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#64577): https://lists.yoctoproject.org/g/yocto/message/64577 Mute This Topic: https://lists.yoctoproject.org/mt/110665827/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-