Bug 3681 - smart: Can't install multilib gcc into rootfs
Summary: smart: Can't install multilib gcc into rootfs
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 1.4
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.4
Assignee: Bogdan Marinescu
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-01-08 04:22 UTC by chnarius
Modified: 2013-02-06 11:47 UTC (History)
5 users (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 chnarius 2013-01-08 04:22:04 UTC
when install both 32/64bit gcc into rootfs, do_rootfs failed with the below messages:

| Updating cache...               ######################################## [100%]
| 
| Computing transaction...error: Can't install 
| gcc-4.7.2-r13@lib64_ppc64e5500: it can't coexist with 
| gcc-4.7.2-r13@ppce5500
| 
| Saving cache...
| 
| ERROR: Function failed: do_rootfs

Before using smart to generate RPM rootfs, it had no such issue. thanks.
Comment 1 Bogdan Marinescu 2013-01-10 12:00:05 UTC
Please provide complete reproducibility instructions for this bug. Thank you.
Comment 2 chnarius 2013-01-11 04:01:12 UTC
1. add meta-fsl-ppc in conf/bblayer.conf.
2. define MACHINE in conf/local.conf:
MACHINE = "p5020ds"
3. enable multilib in conf/local.conf:
require conf/multilib.conf
MULTILIBS = "multilib:lib64"
DEFAULTTUNE_virtclass-multilib-lib64 = "ppc64e5500"
4. add "${@multilib_pkg_extend(d, "gcc")}" or "lib64-gcc" in the list of IMAGE_INSTALL
5. bitbake <target>
Comment 3 Bogdan Marinescu 2013-01-22 15:01:05 UTC
I tried applying your instructions, but I get this error:

/poky/build [] $ bitbake core-image-minimal
Loading cache: 100% |###############################################################################################################################################################################| ETA:  00:00:00
Loaded 1982 entries from dependency cache.
Parsing recipes: 100% |#############################################################################################################################################################################| Time: 00:00:00
Parsing of 835 .bb files complete (834 cached, 1 parsed). 1983 targets, 97 skipped, 0 masked, 0 errors.
ERROR: No recipes available for:
  /poky/poky/meta-fsl-ppc/recipes-append/libxml/libxml2_2.8.0.bbappend
ERROR: Command execution failed: Exited with 1

(it doesn't happen only for core-image-minimal).

I got the meta-fsl-ppc layer from here:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-ppc

Anything else I need to do?
Comment 4 Matthew McClintock 2013-01-22 16:27:19 UTC
(In reply to comment #3)
> I tried applying your instructions, but I get this error:
> 
> /poky/build [] $ bitbake core-image-minimal
> Loading cache: 100%
> |############################################################################
> #############################################################################
> ######################| ETA:  00:00:00
> Loaded 1982 entries from dependency cache.
> Parsing recipes: 100%
> |############################################################################
> #############################################################################
> ####################| Time: 00:00:00
> Parsing of 835 .bb files complete (834 cached, 1 parsed). 1983 targets, 97
> skipped, 0 masked, 0 errors.
> ERROR: No recipes available for:
>   /poky/poky/meta-fsl-ppc/recipes-append/libxml/libxml2_2.8.0.bbappend
> ERROR: Command execution failed: Exited with 1
> 
> (it doesn't happen only for core-image-minimal).
> 
> I got the meta-fsl-ppc layer from here:
> 
> http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-ppc
> 
> Anything else I need to do?

Try the master-next branch.

-M
Comment 5 Bogdan Marinescu 2013-01-23 10:56:22 UTC
I cannot reproduce this on a recent master:

/poky/build [] $ bitbake core-image-minimal
Loading cache: 100% |###############################################################################################################################################################################| ETA:  00:00:00
Loaded 1982 entries from dependency cache.
NOTE: ['/poky/poky/meta-fsl-ppc/recipes-append/sysvinit/sysvinit_2.88dsf.bbappend'] to []
NOTE: ['/poky/poky/meta-fsl-ppc/recipes-append/libxml/libxml2_2.9.0.bbappend'] to []
Parsing recipes: 100% |#############################################################################################################################################################################| Time: 00:00:00
Parsing of 836 .bb files complete (824 cached, 12 parsed). 1985 targets, 97 skipped, 0 masked, 0 errors.

Build Configuration:
BB_VERSION        = "1.17.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-12.10"
TARGET_SYS        = "powerpc-poky-linux"
MACHINE           = "p5020ds"
DISTRO            = "poky"
DISTRO_VERSION    = "1.3+snapshot-20130123"
TUNE_FEATURES     = "m32 fpu-hard e5500"
TARGET_FPU        = "hard"
meta              
meta-yocto        
meta-yocto-bsp    = "b3681:37e025f6f9c410005e0f1dee0767e38eaec01cbd"
meta-fsl-ppc      = "master-next:877cb8b1374c59737ffbe6f33e031b571284c8f9"

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: QA Issue: lib64-gcc: Files/directories were installed but not shipped
  /usr/lib64/libiberty.a
NOTE: Tasks Summary: Attempted 1599 tasks of which 732 didn't need to be rerun and all succeeded.
Comment 6 Bogdan Marinescu 2013-01-23 12:37:47 UTC
Forgot to mention that I have these lines in my conf/local.conf:

require conf/multilib.conf
MULTILIBS = "multilib:lib64"
DEFAULTTUNE_virtclass-multilib-lib64 = "ppc64e5500"

IMAGE_INSTALL_append = " lib64-gcc"
Comment 7 chnarius 2013-01-24 01:37:32 UTC
(In reply to comment #6)
> Forgot to mention that I have these lines in my conf/local.conf:

require
> conf/multilib.conf
MULTILIBS = "multilib:lib64"
> DEFAULTTUNE_virtclass-multilib-lib64 = "ppc64e5500"

IMAGE_INSTALL_append =
> " lib64-gcc"

core-image-minimal does not include gcc by default, right? so you just install the 64bit gcc. Try: IMAGE_INSTALL_append = " gcc lib64-gcc"
Comment 8 Bogdan Marinescu 2013-01-24 11:25:14 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > Forgot to mention that I have these lines in my conf/local.conf:
> 
> require
> > conf/multilib.conf
> MULTILIBS = "multilib:lib64"
> > DEFAULTTUNE_virtclass-multilib-lib64 = "ppc64e5500"
> 
> IMAGE_INSTALL_append =
> > " lib64-gcc"
> 
> core-image-minimal does not include gcc by default, right? so you just
> install the 64bit gcc. Try: IMAGE_INSTALL_append = " gcc lib64-gcc"

I can reproduce the bug now, thank you.
Comment 9 Bogdan Marinescu 2013-01-24 11:35:41 UTC
I see that that the compilation fails even when selecting ipk as the packaging backend:

| + opkg-cl -f /poky/build/tmp/work/p5020ds-poky-linux/core-image-minimal/1.0-r0/opkg.conf -o /poky/build/tmp/work/p5020ds-poky-linux/core-image-minimal/1.0-r0/rootfs --force_postinstall --prefer-arch-to-version install lib64-gcc
| Installing lib64-gcc (4.7.2-r14) to root...
| Downloading file:/poky/build/tmp/deploy/ipk/ppc64e5500/lib64-gcc_4.7.2-r14_ppc64e5500.ipk.
| Installing lib64-eglibc (2.16-r20) to root...
| Downloading file:/poky/build/tmp/deploy/ipk/ppc64e5500/lib64-eglibc_2.16-r20_ppc64e5500.ipk.
| Configuring sysvinit-inittab.
| sysvinit-inittab.postinst returned 1, marking as unpacked only, configuration required on target.
| Collected errors:
|  * check_data_file_clashes: Package lib64-eglibc wants to install file /poky/build/tmp/work/p5020ds-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/ld.so.conf
| 	But that file is already provided by package  * libc6
|  * check_data_file_clashes: Package lib64-eglibc wants to install file /poky/build/tmp/work/p5020ds-poky-linux/core-image-minimal/1.0-r0/rootfs/sbin/ldconfig
| 	But that file is already provided by package  * libc6
|  * opkg_install_cmd: Cannot install package lib64-gcc.
| ERROR: Function failed: do_rootfs (see /poky/build/tmp/work/p5020ds-poky-linux/core-image-minimal/1.0-r0/temp/log.do_rootfs.10215 for further information)

So this might not be a smart issue after all?
Comment 10 chnarius 2013-01-25 02:31:22 UTC
Some information. It still worked on the below commit:

commit 958162e96b4a4f23bca94500b5f20975633dd5c6
Author: Cristiana Voicu <cristiana.voicu@intel.com>
Date:   Fri Dec 14 17:35:47 2012 +0200

    bitbake: hob: use base image only if it was set
    
    As it is, when you create a new image from scratch, hob gives an error.
    This is because of the patch for #2601.
    
    (Bitbake rev: 42d9db0cc80ed45d769f843ccb51e0c194ec557b)
    
    Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Comment 11 Bogdan Marinescu 2013-01-28 15:30:38 UTC
Patch sent (python-smartpm: multilib fixes).
Comment 12 Bogdan Marinescu 2013-02-06 11:47:22 UTC
Patch merged.