All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] pseudo: Ensure the correct libraries are used at runtime
@ 2012-04-15 15:00 Richard Purdie
  2012-04-16  2:22 ` Robert Yang
  0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2012-04-15 15:00 UTC (permalink / raw)
  To: openembedded-core

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]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc
index d710058..6ac1301 100644
--- a/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/meta/recipes-devtools/pseudo/pseudo.inc
@@ -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"
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.3.bb b/meta/recipes-devtools/pseudo/pseudo_1.3.bb
index 080b739..b16b2d9 100644
--- a/meta/recipes-devtools/pseudo/pseudo_1.3.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_1.3.bb
@@ -1,6 +1,6 @@
 require pseudo.inc
 
-PR = "r8"
+PR = "r9"
 
 SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
 
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index 7857275..5771295 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -2,7 +2,7 @@ require pseudo.inc
 
 SRCREV = "f0375c9aaefbccfd41aebbf6d332bb4d9e8f980c"
 PV = "1.3+git${SRCPV}"
-PR = "r23"
+PR = "r24"
 
 DEFAULT_PREFERENCE = "-1"
 





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] pseudo: Ensure the correct libraries are used at runtime
  2012-04-15 15:00 [PATCH] pseudo: Ensure the correct libraries are used at runtime Richard Purdie
@ 2012-04-16  2:22 ` Robert Yang
  0 siblings, 0 replies; 2+ messages in thread
From: Robert Yang @ 2012-04-16  2:22 UTC (permalink / raw)
  To: openembedded-core


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

On 04/15/2012 11:00 PM, Richard Purdie wrote:
> 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]
>
> Signed-off-by: Richard Purdie<richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc
> index d710058..6ac1301 100644
> --- a/meta/recipes-devtools/pseudo/pseudo.inc
> +++ b/meta/recipes-devtools/pseudo/pseudo.inc
> @@ -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"
> diff --git a/meta/recipes-devtools/pseudo/pseudo_1.3.bb b/meta/recipes-devtools/pseudo/pseudo_1.3.bb
> index 080b739..b16b2d9 100644
> --- a/meta/recipes-devtools/pseudo/pseudo_1.3.bb
> +++ b/meta/recipes-devtools/pseudo/pseudo_1.3.bb
> @@ -1,6 +1,6 @@
>   require pseudo.inc
>
> -PR = "r8"
> +PR = "r9"
>
>   SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
>
> diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
> index 7857275..5771295 100644
> --- a/meta/recipes-devtools/pseudo/pseudo_git.bb
> +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
> @@ -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
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-04-16  2:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-15 15:00 [PATCH] pseudo: Ensure the correct libraries are used at runtime Richard Purdie
2012-04-16  2:22 ` Robert Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.