[oe] [PATCH] glibc staging puts .a files in /lib
Khem Raj
raj.khem at gmail.com
Mon May 26 05:47:04 UTC 2008
Hi
I have been seeing this problem where link would fail for libgcc when
building libgcc with some weird messages like
version node not found for symbol __longjmp@@GLIBC_2.3.4
also Leon was seeing same issue on eglibc. I tracked this problem to
this problem in eglibc that it was installing libc.a in $sysroot/lib
where as all .a files should be in $sysroot/usr/lib then I saw that this
was being done in do_stage in glibc-stage.inc
Anyway the problem was that in glibc we use install-lib and
install-headers targets which does not put the /usr/lib/libc.so
and /usr/lib/libpthread.so scripts. If we did use 'install' these
scripts would be installed correctly.
Anyway then do_stage tries to manually generate those files and I am
seeing that even in glibc these paths are not correct and .a files are
copied into $sysroot/lib
The attached patch fixes it for glibc. Eglibc also needs similar fix but
I decided to use make install in eglibc which makes it much easier.
OK ?
Thanks
-Khem
#
# old_revision [273d68b8b346bda4dde4800b40123921d50c6fc8]
#
# patch "packages/glibc/glibc-stage.inc"
# from [c50ef9d6a30c9a54b38d3166f9c5c13a1535a9e6]
# to [8abe1d7d9fd4c34d725a7f26db2110bb66ec3e16]
#
============================================================
--- packages/glibc/glibc-stage.inc c50ef9d6a30c9a54b38d3166f9c5c13a1535a9e6
+++ packages/glibc/glibc-stage.inc 8abe1d7d9fd4c34d725a7f26db2110bb66ec3e16
@@ -16,8 +16,8 @@ do_stage() {
install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
done
for i in libc.a libc_pic.a libc_nonshared.a; do
- install -m 0644 ${B}/$i ${STAGING_DIR_HOST}/${layout_base_libdir}/ || die "failed to install $i"
+ install -m 0644 ${B}/$i ${STAGING_DIR_HOST}/${layout_libdir}/ || die "failed to install $i"
done
- echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libpthread.so
- echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libc.so
+ echo 'GROUP ( ${layout_base_libdir}/libpthread.so.0 ${layout_libdir}/libpthread_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_libdir}/libpthread.so
+ echo 'GROUP ( ${layout_base_libdir}/libc.so.6 ${layout_libdir}/libc_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_libdir}/libc.so
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20080525/05db71e5/attachment-0002.sig>
More information about the Openembedded-devel
mailing list