[OE-core] Recipe which builds for ARCH '${TUNE_PKGARCH}' and 'all' fail

Richard Purdie richard.purdie at linuxfoundation.org
Fri Feb 13 14:51:11 UTC 2015


On Fri, 2015-02-13 at 13:44 +0100, Max Krummenacher wrote:
> Hi
> 
> If a recipe builds a package for the default ARCH (I think this is
> ${TUNE_PKGARCH}) and one for ARCH 'all' then this fails when building
> in the same directory a second time for a machine with different
> ${TUNE_PKGARCH}.
> Observed with dizzy (armv7at2hf-vfp vs armv7at2hf-vfp-neon) and
> master (MACHINE=qemux86-64 vs qemuarm)
> 
> 
> ERROR: The recipe mixed-arch-test is trying to install files into a
> shared area when those files already exist. Those files and their
> manifest location are:
>    /mnt/sdc2/oe-disk/oe-core_master/oe-core/build/tmp-glibc/deploy/ipk/all/mixed-arch-test-a_1.0-r0_all.ipk
>  Matched in manifest-core2-64-mixed-arch-test.package_write_ipk
> 
> 
> An example in the wild is meta-java/recipes-core/rhino/rhino_1.7r4.bb
> which builds: rhino_1.7r4-r0_armv7at2hf-vfp.ipk and
> librhino-java_1.7r4-r0_all.ipk.
> 
> See below for a simple test recipe which reproduces the error.
> 
> 
> Is this intended behavior or an issue oe-core?
> 
> 
> Simple workaround:
> - don't build machines with different architectures in the same build
> directory.
> 
> Workarounds at recipe level:
> - build all packages for TUNE_PKGARCH, even if the nature of the package
> would be 'all'.
> - have two recipes, one providing packages to TUNE_PKGARCH, the other
> one to 'all'.

The issue is that for true allarch packages you should be able to
inherit the allarch class. That does some magic which means it shouldn't
rebuild for each MACHINE.

Cheers,

Richard




More information about the Openembedded-core mailing list