[OE-core] uclibc SDK not including libpthread_nonshared.a
Mark Norman
mpnorman at gmail.com
Sun Apr 22 11:47:27 UTC 2012
Hi,
I have experienced some issues building external code using an oe-core
built SDK. I can get code to compile fine but when linking it
complains about missing libpthread_nonshared.a or uclibc_nonshared.a.
Neither library is included in the SDK directory. I noticed that
uclibc.inc
attempts to include these two libraries into the -dev package (from
meta/recipes-core/uclibc/uclibc.inc):
FILES_${PN}-dev_append = "\
${libdir}/lib*.so \
${libdir}/*_nonshared.a \ <---- Note
${libdir}/[S]*crt[1in].o \
${libdir}/crtreloc*.o \
${includedir}/*.h ${includedir}/*/*.h \
"
However, the two _nonshared.a libraries end up getting packaged in the
-staticdev package. I think this is because the -staticdev package
gets processed before the -dev package (as defined in
meta/conf/bitbake.conf). The eglibc-package.inc also tries to package
the _nonshared.a libraries into the -dev package but I did notice that
the eglibc PACKAGES argument explicitly lists the -dev package before
-staticdev. I tried the same thing in uclibc.inc eg:
--- a/meta/recipes-core/uclibc/uclibc.inc
+++ b/meta/recipes-core/uclibc/uclibc.inc
@@ -48,9 +48,7 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
INHIBIT_DEFAULT_DEPS = "1"
-PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv
uclibc-thread-db uclibc-argp uclibc-backtrace"
-PACKAGES =+ "uclibc-libcrypt uclibc-libintl uclibc-libnsl
uclibc-libresolv uclibc-libm"
-PACKAGES =+ "uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt"
+PACKAGES = "${PN}-dbg ${PN} ldd ${PN}-utils ${PN}-utils-dbg
uclibc-thread-db uclibc-gconv ${PN}-dev ${PN}-staticdev ${PN}-doc
uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl
uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil
uclibc-libpthread uclibc-librt"
Doing this caused the _nonshared.a libraries to successfully get
packaged in the -dev package.
Is this the correct way to get this to work? If so I am happy to
submit a proper patch, otherwise is there something else I am missing?
Kind Regards
Mark Norman
More information about the Openembedded-core
mailing list