[OE-core] [PATCH] gcc: use ${base_lib} to match gcc default configuration

Khem Raj raj.khem at gmail.com
Thu Aug 11 14:54:55 UTC 2011


On Thursday, August 11, 2011 03:45:01 PM Yu Ke wrote:
> Ok, CC Richard to see if it is OK to not use 64bithack.patch
> 
> Regards
> Ke
> 
> on 2011-8-11 14:47, Kumar Gala wrote:
> > revert this is not acceptable as that will break ppc64 builds.
> > 
> > I think you need to look at 64bithack.patch and if we really should be
> > using it for multilib builds.

I think it could be conditionally applied only for non multilib builds
but I would be in favour of removing it if not much will break in non
multilib case.

> > 
> > - k
> > 
> > On Aug 11, 2011, at 1:36 AM, Yu Ke wrote:
> >> 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/mu
> >> | ltilib2/tmp/sysroots/x86_64-linux/usr/x86_64-pokymllib64-linux/lib
> >> | 64/*': 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}/
> > 
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list