[OE-core] [RFC] Fix libgcc nativesdk to install libgcc.a in good location for tools
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Oct 28 09:03:41 UTC 2011
On Wed, 2011-10-26 at 22:07 -0500, Matthew McClintock wrote:
> 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
This patch looks very very confused to me. Firstly your subject summary
talks about libgcc-nativesdk. This is the compiler used to generate
binaries for SDKMACHINE so I seriously doubt you're using nativesdk to
build uboot.
> 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*"
This is changing the packging of libgcc too, not just libgcc-nativesdk.
It is not correct to be putting the dynamic linking symlinks in anything
but the -dev package so the above and the line below are therefore wrong
too.
> 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
Equally, you're moving a static library from the -dev package into the
main package which is wrong, you only need that if you're doing
development.
Are you sure your problem is not that you didn't have the libgcc-dev
package installed?
Cheers,
Richard
More information about the Openembedded-core
mailing list