[yocto] Kernel Build Failures with Shared SSTATE

Schmitt, Richard Richard.Schmitt at commscope.com
Fri Jul 14 08:23:18 PDT 2017


Hi,

I had been running into kernel build failures on the morty branch when using a shared state.  First I'll describe the error, and then my solution.

The first build that initializes the sstate cache works fine.  Subsequent clean builds will fail.  The failure
would occur in the do_compile_kernelmodules task.  The error would indicate a failure because tmp/work-shared/<machine>/kernel-build-artifacts was missing.

My analysis concluded that the kernel build was restored from the cache, but it did not restore the kernel-build-artifacts needed by the do_compile_kernelmodules task.

My solution was to include the following in a bbappend file for the kernel:

SSTATETASKS += "do_shared_workdir"

do_shared_workdir[sstate-plaindirs] = "${STAGING_KERNEL_BUILDDIR}"

python do_shared_workdir_setscene () {
    sstate_setscene(d)
}

I assume the correct way to fix this would be to update the meta/classes/kernel.bbclass.  It looks like there was some attempt to do something with the shared_workdir because there is a do_shared_workdir_setscene routine, but right now it just returns a 1.  Is that intentional.  It seems wrong.

Rich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170714/55429aa7/attachment.html>


More information about the yocto mailing list