After commit commit 703b70c98a86771a891b46382f3ee20c4ef93f39 Author: Constantin Musca <constantinx.musca@intel.com> Date: Mon Dec 17 13:46:20 2012 +0200 gcc: enable multilib for target gcc - add a task to setup multilib configuration for target gcc - this commit adapts Nitin Kamble's work to gcc 4.7 - use a hash for storing arch-dependent multilib options - patch gcc in order to use the multilib config files from the build directory Tests: root@qemux86-64:~# gcc -m64 t.c -o t root@qemux86-64:~# file t t: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped root@qemux86-64:~# ./t Hello World ! root@qemux86-64:~# gcc -m32 t.c -o t root@qemux86-64:~# file t t: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped root@qemux86-64:~# ./t Hello World ! [YOCTO #1369] (From OE-Core rev: b26819c85881e82ee1b5c68840011e78c321f18e) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> enable multilib and then try to build meta-toolchain for qemux86-64 it breaks like below NOTE: recipe nativesdk-libgcc-4.7.2-r15: task do_multilib_install: Started ERROR: Error executing a python function in /b/kraj/jlinux-next/poky/meta/recipes-devtools/gcc/libgcc_4.7.bb: TypeError: sequence item 1: expected string, NoneType found ERROR: The stack trace of python calls that resulted in this exception/failure was: ERROR: File "do_multilib_install", line 64, in <module> ERROR: ERROR: File "do_multilib_install", line 17, in do_multilib_install ERROR: ERROR: File "gcc-common.inc", line 4, in get_tune_parameters ERROR: ERROR: File "/b/kraj/jlinux-next/poky/bitbake/lib/bb/__init__.py", line 98, in error ERROR: logger.error(''.join(args)) ERROR: ERROR: The code that was being executed was: ERROR: 0060: os.unlink(dest) ERROR: 0061: os.symlink(src, dest) ERROR: 0062: ERROR: 0063: ERROR: *** 0064:do_multilib_install(d) ERROR: 0065: ERROR: [From file: 'do_multilib_install', lineno: 64, function: <module>] ERROR: 0013: return ERROR: 0014: ERROR: 0015: if mlprefix: ERROR: 0016: orig_tune = d.getVar('DEFAULTTUNE_MULTILIB_ORIGINAL', True) ERROR: *** 0017: orig_tune_params = get_tune_parameters(orig_tune, d) ERROR: 0018: orig_tune_baselib = orig_tune_params['baselib'] ERROR: 0019: orig_tune_bitness = orig_tune_baselib.replace('lib', '') ERROR: 0020: if not orig_tune_bitness: ERROR: 0021: orig_tune_bitness = '32' ERROR: [From file: 'do_multilib_install', lineno: 17, function: do_multilib_install] ERROR: 0001:def get_tune_parameters(tune, d): ERROR: 0002: availtunes = d.getVar('AVAILTUNES', True) ERROR: 0003: if tune not in availtunes.split(): ERROR: *** 0004: bb.error('The tune: %s is not one of the available tunes: %s', tune, availtunes) ERROR: 0005: ERROR: 0006: localdata = bb.data.createCopy(d) ERROR: 0007: override = ':tune-' + tune ERROR: 0008: localdata.setVar('OVERRIDES', localdata.getVar('OVERRIDES', False) + override) ERROR: [From file: 'gcc-common.inc', lineno: 4, function: get_tune_parameters] ERROR: Function failed: do_multilib_install ERROR: Logfile of failure stored in: /b/kraj/jlinux-next/poky/build/tmp-eglibc/work/x86_64-nativesdk-pokysdk-linux/nativesdk-libgcc/4.7.2-r15/temp/log.do_multilib_install.10856 NOTE: recipe nativesdk-libgcc-4.7.2-r15: task do_multilib_install: Failed ERROR: Task 1988 (virtual:nativesdk:/b/kraj/jlinux-next/poky/meta/recipes-devtools/gcc/libgcc_4.7.bb, do_multilib_install) failed with exit code '1' NOTE: Tasks Summary: Attempted 3155 tasks of which 2554 didn't need to be rerun and 1 failed. Summary: 1 task failed: virtual:nativesdk:/b/kraj/jlinux-next/poky/meta/recipes-devtools/gcc/libgcc_4.7.bb, do_multilib_install
Created attachment 1055 [details] patch which fixes it.
(In reply to comment #1) > Created attachment 1055 [details] > patch which fixes it. Patch merged. (commit 898a8094b1dcffc5ee54dbb612477c9bb3b8fd4b) Cheers, Constantin