On 4/13/12 10:13 AM, Saul Wold wrote:
On 04/12/2012 02:21 PM, Mark Hatle wrote:
[Yocto #2251]

Add --without-rpath to avoid embedding rpaths into the pseudo
components.

Signed-off-by: Mark Hatle<[email protected]>
---
   meta/recipes-devtools/pseudo/pseudo.inc    |    8 ++++----
   meta/recipes-devtools/pseudo/pseudo_1.3.bb |    2 +-
   meta/recipes-devtools/pseudo/pseudo_git.bb |    2 +-
   3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-devtools/pseudo/pseudo.inc 
b/meta/recipes-devtools/pseudo/pseudo.inc
index 664a9b5..d5c33df 100644
--- a/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/meta/recipes-devtools/pseudo/pseudo.inc
@@ -29,9 +29,9 @@ NO32LIBS ??= "0"
   # Compile for the local machine arch...
   do_compile () {
        if [ "${SITEINFO_BITS}" == "64" ]; then
-         ${S}/configure --prefix=${prefix} 
--libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} 
--enable-static-sqlite
+         ${S}/configure --prefix=${prefix} 
--libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} 
--enable-static-sqlite --without-rpath
        else
-         ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} 
--enable-static-sqlite
+         ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS} 
--enable-static-sqlite --without-rpath
        fi
        oe_runmake ${MAKEOPTS}
   }
@@ -42,7 +42,7 @@ do_compile () {
   do_compile_prepend_virtclass-native () {
        if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == 
"pseudo-native" -a "${NO32LIBS}" != "1" ]; then
                # We need the 32-bit libpseudo on a 64-bit machine...
-               ./configure --prefix=${prefix} 
--libdir=${prefix}/lib/pseudo/lib 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
+               ./configure --prefix=${prefix} 
--libdir=${prefix}/lib/pseudo/lib 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
                oe_runmake ${MAKEOPTS} libpseudo
                # prevent it from removing the lib, but remove everything else
                make 'LIB=foo' ${MAKEOPTS} distclean
@@ -52,7 +52,7 @@ do_compile_prepend_virtclass-native () {
   do_compile_prepend_virtclass-nativesdk () {
        if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == 
"pseudo-native" -a "${NO32LIBS}" != "1" ]; then
                # We need the 32-bit libpseudo on a 64-bit machine...
-               ./configure --prefix=${prefix} 
--libdir=${prefix}/lib/pseudo/lib 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
+               ./configure --prefix=${prefix} 
--libdir=${prefix}/lib/pseudo/lib 
--with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
We might still need this rpath or something similar since the nativesdk
now breaks not finding the correct version of the included libc.so.6

In this case, I don't think embedding a static RPATH makes sense, but perhaps a $ORIGIN path might?

Can chrpath be used to add an rpath after compilation and linking, if so that is what I would suggest to do. Otherwise I'm not exactly sure how to resolve this...

Note, typically pseudo is -not- linked the "sdk" version of the libc, but is linked to the host libc. In the past when exporting and sdk with something like pseudo you needed to either build on a common machine (where everything was compatible) or have a way to rebuild pseudo on the final target system. Perhaps that is what is needed?

--Mark

/opt/poky/1.2/sysroots/x86_64-pokysdk-linux/usr/bin/pseudo -P
/opt/poky/1.2/sysroots/x86_64-pokysdk-linux/usr tar -C "/tmp/opt" -xjf
"/intel/home/sgw/Downloads/core-image-minimal-qemux86-64.tar.bz2"
tar: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found
(required by
/opt/poky/1.2/sysroots/x86_64-pokysdk-linux/usr/lib/pseudo/lib64/libpseudo.so)

See also bug 1968

I do have a libc.so.6.

/opt/poky/1.2/sysroots/x86_64-pokysdk-linux/lib/libc.so.6 ->  libc-2.15.so

Sau!

                oe_runmake ${MAKEOPTS} libpseudo
                # prevent it from removing the lib, but remove everything else
                make 'LIB=foo' ${MAKEOPTS} distclean
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.3.bb 
b/meta/recipes-devtools/pseudo/pseudo_1.3.bb
index e7a329c..080b739 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 = "r7"
+PR = "r8"

   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 9414c79..7857275 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 = "r22"
+PR = "r23"

   DEFAULT_PREFERENCE = "-1"



_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to