[OE-core] [RFC] Fix libgcc nativesdk to install libgcc.a in good location for tools

McClintock Matthew-B29882 B29882 at freescale.com
Thu Oct 27 04:20:39 UTC 2011


On Wed, Oct 26, 2011 at 10:40 PM, James Limbouris
<james at digitalmatter.com.au> wrote:
>> -----Original Message-----
>> From: openembedded-core-bounces at lists.openembedded.org
>> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of
>> Matthew McClintock
>> Sent: Thursday, 27 October 2011 11:07 AM
>> To: openembedded-core at lists.openembedded.org
>> Subject: [OE-core] [RFC] Fix libgcc nativesdk to install libgcc.a in good location
>> for tools
>>
>> This fixes an issue where we cannot find -lgcc when linking. We
>> update the path to libgcc.a so the library can be installed
>> correctly
>>
>> Signed-off-by: Matthew McClintock <msm at freescale.com>
>> ---
>> I really doubt this is the correct fix and I'm no expert but it's
>> here for comments. This fixes a real u-boot cross compile build
>> issue
>>
>> The previous mv command was failing as the files did not exist
>> and I also rejiggered the packages since I was not sure if
>> gdb-cross-canadian-powerpc-dev was included in my tarball of
>> the toolchain
>>
>>  meta/recipes-devtools/gcc/libgcc_4.6.bb |    6 +++---
>>  1 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/gcc/libgcc_4.6.bb b/meta/recipes-
>> devtools/gcc/libgcc_4.6.bb
>> index 63a46ec..7f3ac55 100644
>> --- a/meta/recipes-devtools/gcc/libgcc_4.6.bb
>> +++ b/meta/recipes-devtools/gcc/libgcc_4.6.bb
>> @@ -8,9 +8,8 @@ PACKAGES = "\
>>    ${PN}-dev \
>>    "
>>
>> -FILES_${PN} = "${base_libdir}/libgcc*.so.*"
>> +FILES_${PN} = "${base_libdir}/libgcc*"
>>  FILES_${PN}-dev = " \
>> -  ${base_libdir}/libgcc*.so \
>>    ${libdir}/${TARGET_SYS}/${BINV}/crt* \
>>    ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
>>
>> @@ -29,9 +28,10 @@ do_install () {
>>       if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then
>>               mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir}
>>       else
>> -             mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true
>> +             cp ${D}${libdir}/${TARGET_SYS}/${BINV}/libgcc*
>> ${D}${base_libdir}
>>       fi
>>
>> +
>>       chown -R root:root ${D}
>>       chmod +x ${D}${base_libdir}/libgcc_s.so.*
>>  }
>> --
>> 1.7.6.1
>>
>
> Is this perhaps related to the following issue: http://lists.linuxtogo.org/pipermail/openembedded-core/2011-October/011556.html ?
> Some builds had trouble finding libgcc due to a sysroot misconfiguration, which has since been fixed in master.

I  applied this patch first. It did not fix my toolchain.

The recipe above still is looking for this file
'${D}${libdir}/libgcc*' before my patch - when that folder does not
even exist and it's actually
'${D}${libdir}/${TARGET_SYS}/${BINV}/libgcc*'. It's worth noting that
FILES_${PN} is referencing the path where a file actually exists,
which makes me wonder why they are different, esp. since these two
lines were added in the same patch.

-M

-M




More information about the Openembedded-core mailing list