Bug 2290

Summary: [Multilib]: building error in the stage of do_rootfs when building core-image-sato with mutlilibs feature
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Xiaofeng Yan <Xiaofeng.yan>
Component: coreAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher, richard.purdie
Version: 1.2   
Target Milestone: 1.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: (1.2) Patch out for review
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Xiaofeng Yan 2012-04-13 03:21:57 UTC
error information is as follow in the stage of do_rootfs.

| Collected errors:
|  * resolve_conffiles: Existing conffile /buildarea1/yxf/poky.multi/build/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs/etc/opkg/arch.conf is different from the conffile in the new package. The new conffile will be placed at /buildarea1/yxf/poky.multi/build/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs/etc/opkg/arch.conf-opkg.
| + '[' '!' -z '' ']'
Comment 1 Xiaofeng Yan 2012-04-13 03:34:37 UTC
opkg accessing configuration file "arch.conf" cause this problem. "arch.conf" is created by "opkg-config-base_1.0.bb".  but opkg check check-sum for new arch.conf(the old one come from opkg-config-base_1.0.bb). The old one add "arch x86 26" but there no this line in the new one. 

$diff  /buildarea1/yxf/poky.multi/build/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs/etc/opkg/arch.conf /buildarea1/yxf/poky.multi/build/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs/etc/opkg/arch.conf-opkg

--- /buildarea1/yxf/poky.multi/build/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs/etc/opkg/arch.conf	2012-04-12 17:34:30.000000000 +0800
+++ /buildarea1/yxf/poky.multi/build/tmp/work/qemux86_64-poky-linux/core-image-sato-1.0-r0/rootfs/etc/opkg/arch.conf-opkg	2012-04-12 17:40:33.000000000 +0800
@@ -3,4 +3,3 @@
 arch noarch 11
 arch x86_64 16
 arch qemux86_64 21
-arch x86 26

I don't know who create the new arch.conf beside the one from "opkg-config-base_1.0.bb". I will inveterate this. If anyone know this, Please share your experience with me.
Comment 2 Lianhao Lu 2012-04-14 10:37:28 UTC
Xiaofeng,

I may need the exact configurations to reproduce this bug.
Comment 3 Richard Purdie 2012-04-14 18:35:23 UTC
A reproducer for this is:

PACKAGE_CLASSES = "package_ipk"
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
BASE_LIB_tune-x86 = "lib32"

IMAGE_INSTALL_append = "lib32-opkg opkg"

in local.conf and then 

bitbake core-image-minimal
Comment 4 Richard Purdie 2012-04-14 21:30:28 UTC
As a further hint, the problem is this difference:

$ bitbake opkg-config-base -e | grep LIB_PACKAGE
# ALL_MULTILIB_PACKAGE_ARCHS=${@all_multilib_tune_values(d, 'PACKAGE_ARCHS')}
ALL_MULTILIB_PACKAGE_ARCHS="all any noarch x86_64 qemux86_64 x86"

$ bitbake lib32-opkg-config-base -e | grep LIB_PACKAGE
# ALL_MULTILIB_PACKAGE_ARCHS=${@all_multilib_tune_values(d, 'PACKAGE_ARCHS')}
ALL_MULTILIB_PACKAGE_ARCHS="all any noarch x86 qemux86_64"

as these need to have the same value.