Bug 3521 - Warnings from sstate overwriting files in sysroot
Summary: Warnings from sstate overwriting files in sysroot
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: configuration (show other bugs)
Version: 1.4
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.4
Assignee: Richard Purdie
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2012-12-01 07:53 UTC by Martin Jansa
Modified: 2012-12-17 17:41 UTC (History)
1 user (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Jansa 2012-12-01 07:53:49 UTC
I think I've found easy reproducible way to get those warning we discussed in:
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-October/031184.html

WARNING: The recipe foo is trying to install files into a shared area when those files already exist. Those files and their manifest location are:

One easy way to reproduce this, is to change PACKAGE_ARCH in foo recipe, I guess it is because foo with ARCH_NEW does not find foo stamps from ARCH_OLD, so it does not clean sysroot before installing new version.

In this case I was changing fsodeviced recipe from TUNE_PKGARCH to MACHINE_ARCH
manifest-cortexa8-vfp-neon-fsodeviced.populate-sysroot.om-gta04:/OE/shr-core/tmp-eglibc/sysroots/om-gta04/usr/lib/cornucopia/modules/fsodevice/kernel_idle.so
manifest-om_gta04-fsodeviced.populate-sysroot.om-gta04:/OE/shr-core/tmp-eglibc/sysroots/om-gta04/usr/lib/cornucopia/modules/fsodevice/kernel_idle.so

stamps/cortexa8-vfp-neon-oe-linux-gnueabi/fsodeviced/2_0.12.99+gitr52+54c6ef77dddb8efbf48b7b93c8f817c366890e4b-r4.0.do_populate_sysroot.om-gta04
stamps/cortexa8-vfp-neon-oe-linux-gnueabi/fsodeviced/2_0.12.99+gitr52+54c6ef77dddb8efbf48b7b93c8f817c366890e4b-r4.0.do_populate_sysroot.sigdata.8d264c6323799ab7c02e1b8babd72dc4
stamps/om_gta04-oe-linux-gnueabi/fsodeviced/2_0.12.99+gitr52+54c6ef77dddb8efbf48b7b93c8f817c366890e4b-r4.0.do_populate_sysroot.om-gta04
stamps/om_gta04-oe-linux-gnueabi/fsodeviced/2_0.12.99+gitr52+54c6ef77dddb8efbf48b7b93c8f817c366890e4b-r4.0.do_populate_sysroot.sigdata.2174631ad8a9a816e11c4f3a669fec3e

BTW: I never seen "Matched in" message showing something useful but in this case it should show something like "Matched in the same recipe but with different architecture cortexa8-vfp-neon-oe-linux-gnueabi". And if this warning became fatal later it should be non-fatal for cases of different architecture.

Or is there "safe" way to clean sysroot properly? I always find hard to "cleanup after recipe removed from metadata. E.g. after gcc-cross-intermediate removal, the files stay in sysroot forever and you cannot even -c cleansstate them, because for that you need old recipe (checkout older metadata).
Comment 1 Richard Purdie 2012-12-14 15:40:33 UTC
Patches out for review on OE-Core.
Comment 2 Martin Jansa 2012-12-16 21:03:05 UTC
(In reply to comment #1)
> Patches out for review on OE-Core.

It seems to be better (well I got a lot of warnings from old manifests, I'll retest in another build from scratch).

Is that last bb.error correct or is it left over from debugging?
http://patchwork.openembedded.org/patch/41025/
Comment 3 Richard Purdie 2012-12-17 17:41:15 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > Patches out for review on OE-Core.
> 
> It seems to be better (well I got a lot of warnings from old manifests, I'll
> retest in another build from scratch).
> 
> Is that last bb.error correct or is it left over from debugging?
> http://patchwork.openembedded.org/patch/41025/

Left over debugging. I spotted and removed it in the code that was in master-next. I've just merged this patch into master:

http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=1e548a7fc735e55d411e3c529e1fcf8ded626156