Bug 2223

Summary: [x32] gcc-cross-intermediate do_install fail for x32 build
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Jiajun Xu <jiajun.xu>
Component: devtools / tool chainAssignee: Nitin Kamble <nitin.a.kamble>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: jessica.zhang, meta.mr.watcher, meta.watcher
Version: unspecified   
Target Milestone: 1.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: (1.2)
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Attachments:
Description Flags
log file none

Description Jiajun Xu 2012-04-01 16:07:57 UTC
Created attachment 426 [details]
log file

tree/branch: poky/1.2_M4
commit: da6233ea034f35eff59306fdad31f318c340c359

With 1.2 M4, x32 build failed due to gcc-cross-intermediate do_install fail. The error log is as below:
#######
| echo 'OTHER_FIXINCLUDES_DIRS=""' \
|       >> /distro/m4/x32/tmp/work/x86_64_x32-poky-linux-gnux32/gcc-cross-intermediate-4.6.3+svnr184847-r24.x32/image/distro/m4/x32/tmp/sysroots/x86_64-linux/usr/lib/x86_64_x32-poky-linux-gnux32.gcc-cross-intermediate/gcc/x86_64-poky-linux-gnux32/4.6.4/install-tools/mkheaders.conf
| echo 'STMP_FIXINC="stmp-fixinc"' \
|       >> /distro/m4/x32/tmp/work/x86_64_x32-poky-linux-gnux32/gcc-cross-intermediate-4.6.3+svnr184847-r24.x32/image/distro/m4/x32/tmpERROR: Function failed: do_install (see /distro/m4/x32/tmp/work/x86_64_x32-poky-linux-gnux32/gcc-cross-intermediate-4.6.3+svnr184847-r24.x32/temp/log.do_install.13501 for further information)
| /sysroots/x86_64-linux/usr/lib/x86_64_x32-poky-linux-gnux32.gcc-cross-intermediate/gcc/x86_64-poky-linux-gnux32/4.6.4/install-tools/mkheaders.conf
| make[2]: Leaving directory `/distro/m4/x32/tmp/work/x86_64_x32-poky-linux-gnux32/gcc-cross-intermediate-4.6.3+svnr184847-r24.x32/gcc-4_6-branch/build.x86_64-linux.x86_64-poky-linux-gnux32/gcc'
| make[1]: Leaving directory `/distro/m4/x32/tmp/work/x86_64_x32-poky-linux-gnux32/gcc-cross-intermediate-4.6.3+svnr184847-r24.x32/gcc-4_6-branch/build.x86_64-linux.x86_64-poky-linux-gnux32'
| mv: cannot stat `/distro/m4/x32/tmp/work/x86_64_x32-poky-linux-gnux32/gcc-cross-intermediate-4.6.3+svnr184847-r24.x32/image/distro/m4/x32/tmp/sysroots/x86_64-linux/usr/x86_64-poky-linux-gnux32/lib/../lib64/*': No such file or directory
NOTE: package gcc-cross-intermediate-4.6.3+svnr184847-r24.x32: task do_install: Failed
ERROR: Task 3 (/distro/m4/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.6.bb, do_install) failed with exit code '1'
NOTE: Tasks Summary: Attempted 205 tasks of which 198 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /distro/m4/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.6.bb, do_install
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
#######
Comment 1 Nitin Kamble 2012-04-03 19:51:37 UTC
I have a fix for this, will post it to ML soon.
Comment 3 Nitin Kamble 2012-04-06 16:09:30 UTC
This commit fixes the issue in the poky tree

commit 834a17d6d816dd4a97690ecd551c2e76c9b73f4f
Author: Nitin A Kamble <nitin.a.kamble@intel.com>
Date:   Tue Apr 3 12:35:03 2012 -0700

    gcc-cross-intermediate: fix do_install for x32

    This Fixes [Ycoto #2223] bug.

    The gcc osdir is obtained in the do_install by invocation of
    command "gcc -print-multi-os-directory". For x32 it returns gcc
    osdir for the default abi which is x86_64. Fix this by adding
    target abi parameter to the gcc command line to get correct gcc
    osdir with invocation of command "gcc -mx32 -print-multi-os-directory"

    (From OE-Core rev: e65b6a4282d5c4882d0565b79ccba99db90161ff)

    Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Comment 4 Jiajun Xu 2012-04-08 09:27:04 UTC
I verify the bug as fixed with following commit:

commit 27aa5489fb40d99c58bb2a4bbf2311e2c502a091
Author: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Date:   Thu Mar 29 11:30:53 2012 -0700

    distro.conf: Flipping for denzil

    Flipping values in distro.conf for upcoming release

    Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>