Skip to contentSkip to conversation

pseudo: Ensure the correct libraries are used at runtime

PATCH In review Richard Purdie 2 participants 2 messages Apr 15, 2012 – Apr 16, 2012

lore
Share & tools
lore
#0 lore raw

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
index d710058..6ac1301 100644
@@ -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
index 080b739..b16b2d9 100644
@@ -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
index 7857275..5771295 100644
@@ -2,7 +2,7 @@ require pseudo.inc
 
 SRCREV = "f0375c9aaefbccfd41aebbf6d332bb4d9e8f980c"
 PV = "1.3+git${SRCPV}"
-PR = "r23"
+PR = "r24"
 
 DEFAULT_PREFERENCE = "-1"
 
#1 lore raw

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_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
index d710058..6ac1301 100644
@@ -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
index 080b739..b16b2d9 100644
@@ -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
index 7857275..5771295 100644
@@ -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