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

Kumar Gala galak at kernel.crashing.org
Thu Aug 11 06:47:10 UTC 2011


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.

- 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/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