[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