pseudo: Ensure the correct libraries are used at runtime
PATCH 1/1 pseudo: Ensure the correct libraries are used at runtime
There can be a conflict between the nativesdk libc and the host system's libc. It is assumed the nativesdk version is of an equal or higher version. This is a particular issue for pseudo if its loading a system binary since the system's libc might be used of an older verison which would then confuse libpseudo.so when loaded as a preload.
To avoid this, set LD_LIBRARY_PATH so the nativesdk libc is always used.
Since we now use --without-rpath, we can remove the MAKEOPTS RPATH workaround.
[YOCTO #2299]
---
meta/recipes-devtools/pseudo/pseudo.inc +2 -3
@@ -13,10 +13,7 @@ FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/p FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug" PROVIDES += "virtual/fakeroot" -# In the nativesdk case, we'll already search the searchpaths -# pseudo tries to build in so override RPATH MAKEOPTS = "" -MAKEOPTS_virtclass-nativesdk = "'RPATH='" inherit siteinfo
@@ -78,6 +75,8 @@ do_install_append_virtclass-nativesdk () { mkdir -p ${D}${prefix}/lib/pseudo/lib cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. fi + + create_wrapper ${D}${bindir}/pseudo LD_LIBRARY_PATH=${base_libdir}:${libdir} } BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/pseudo/pseudo_1.3.bb +1 -1
@@ -1,6 +1,6 @@ require pseudo.inc -PR = "r8" +PR = "r9" SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
meta/recipes-devtools/pseudo/pseudo_git.bb +1 -1
@@ -2,7 +2,7 @@ require pseudo.inc SRCREV = "f0375c9aaefbccfd41aebbf6d332bb4d9e8f980c" PV = "1.3+git${SRCPV}" -PR = "r23" +PR = "r24" DEFAULT_PREFERENCE = "-1"
Tested, all of the following commands worked well:
1) runqemu qemux86 bzImage-qemux86.bin core-image-sato-qemux86.ext3
2) pseduo ls
3) runqemu-extract-sdk core-image-sato-sdk-qemuarm-20120412211904.rootfs.tar.bz2 rootfs_dir
// Robert
Quoted 72 lines · Richard Purdie
There can be a conflict between the nativesdk libc and the host system's libc. It is assumed the nativesdk version is of an equal or higher version. This is a particular issue for pseudo if its loading a system binary since the system's libc might be used of an older verison which would then confuse libpseudo.so when loaded as a preload.
To avoid this, set
LD_LIBRARY_PATHso the nativesdk libc is always used.Since we now use --without-rpath, we can remove the MAKEOPTS RPATH workaround.
[YOCTO #2299]
Signed-off-by Richard Purdie<[email protected]>---
meta/recipes-devtools/pseudo/pseudo.inc +2
-3@@ -13,10 +13,7 @@ FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/p FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug" PROVIDES += "virtual/fakeroot" -# In the nativesdk case, we'll already search the searchpaths -# pseudo tries to build in so override RPATH MAKEOPTS = "" -MAKEOPTS_virtclass-nativesdk = "'RPATH='" inherit siteinfo@@ -78,6 +75,8 @@ do_install_append_virtclass-nativesdk () { mkdir -p ${D}${prefix}/lib/pseudo/lib cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. fi + + create_wrapper ${D}${bindir}/pseudo LD_LIBRARY_PATH=${base_libdir}:${libdir} } BBCLASSEXTEND = "native nativesdk"meta/recipes-devtools/pseudo/pseudo_1.3.bb +1
-1@@ -1,6 +1,6 @@ require pseudo.inc -PR = "r8" +PR = "r9" SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"meta/recipes-devtools/pseudo/pseudo_git.bb +1
-1@@ -2,7 +2,7 @@ require pseudo.inc SRCREV = "f0375c9aaefbccfd41aebbf6d332bb4d9e8f980c" PV = "1.3+git${SRCPV}" -PR = "r23" +PR = "r24" DEFAULT_PREFERENCE = "-1"_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core