[OE-core] oprofile rebuilds for different MACHINES (sstate)

Khem Raj raj.khem at gmail.com
Wed Aug 12 04:35:42 UTC 2015


> On Aug 11, 2015, at 8:26 PM, Denys Dmytriyenko <denis at denix.org> wrote:
> 
> So, I've been debugging the issue of oprofile rebuilding from one MACHINE to
> another (causing PR issues, etc). I was able to trace it down to this line:
> 
> EXTRA_OECONF = "--with-kernel=${STAGING_KERNEL_DIR}  --without-x ac_cv_prog_XSLTPROC="
> 
> And STAGING_KERNEL_DIR resolves to this:
> 
> STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
> 
> Now, obviously, when MACHINE changes, sstate invalidates do_configure and
> rebuilds oprofile.
> 
> The question is, what is the proper fix in this case - mark oprofile as
> machine-specific with PACKAGE_ARCH = "${MACHINE_ARCH}", since it will be
> configuring and building against (potentially) completely different kernel
> tree. So, just mark it explicitly and be safe...
> 
> Or another option is to tell sstate to ignore changes to the above variables
> with this simple line:
> 
> EXTRA_OECONF[vardepsexclude] = "STAGING_KERNEL_DIR"
> 
> This also does the trick, but I'm a bit worried there could be side-effects of
> using oprofile against the wrong kernel... Any recommendations?

Using kernel staging dir is unnecessary here, oprofile’s configure is poking for user space APIs
in linux/perf_event.h so linux-libc-headers dependency is enough. and use —with-kernel=${STAGING_EXECPREFIXDIR}
instead of STAGING_KERNEL_DIR, that should fix it.

-Khem
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150811/7088ca34/attachment-0002.sig>


More information about the Openembedded-core mailing list