[OE-core] [PATCH] gcc: use ${base_lib} to match gcc default configuration
Yu Ke
ke.yu at intel.com
Thu Aug 11 06:36:51 UTC 2011
Hi Kumar,
I just found this patch breaks the qemux86-64 lib64 multilib build.
the error log is as below:
| mv: cannot stat
`/home/kyu3/sdb/multilib2/tmp/work/x86_64-pokymllib64-linux/lib64-gcc-cross-intermediate-4.6.1+svnr175454-r4/image/home/kyu3/sdb/multilib2/tmp/sysroots/x86_64-linux/usr/x86_64-pokymllib64-linux/lib64/*':
No such file or directory
NOTE: package lib64-gcc-cross-intermediate-4.6.1+svnr175454-r4: task
do_install: Failed
ERROR: Task 1557
(virtual:multilib:lib64:/home/kyu3/src/poky/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.6.bb,
do_install) failed with exit code
the error is caused by command in gcc-cross-intermediate.inc:
do_install(): "mv ${D}${exec_prefix}/${TARGET_SYS}/${baselib}/*
${D}${target_base_libdir}/"
and the reason is that: ${baselib} is lib64 in multilib case, while the
files to be moved is still in ${D}${exec_prefix}/${TARGET_SYS}/lib/*,
so mv will fail.
The fix may be either reverting this commit, or putting the file to
${baselib} instead of lib. I'd like to get your input before going further.
Regards
Ke
on 2011-8-5 2:54, Kumar Gala wrote:
> Rather than tweaking MULTILIB_DIRNAMES& MULTILIB_OSDIRNAMES like is
> done for x86-64 via 64bithack.patch. We can just go with gcc defaults
> and utilize ${base_lib} for where to find gcc libs.
>
> Signed-off-by: Kumar Gala<galak at kernel.crashing.org>
> ---
> .../gcc/gcc-cross-intermediate.inc | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
> index df5958a..7b1bb38 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
> +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
> @@ -34,7 +34,7 @@ do_compile () {
> do_install () {
> oe_runmake 'DESTDIR=${D}' install
> install -d ${D}${target_base_libdir}/
> - mv ${D}${exec_prefix}/${TARGET_SYS}/lib/* ${D}${target_base_libdir}/
> + mv ${D}${exec_prefix}/${TARGET_SYS}/${baselib}/* ${D}${target_base_libdir}/
>
> # We don't really need this (here shares/ contains man/, info/, locale/).
> rm -rf ${D}${datadir}/
More information about the Openembedded-core
mailing list