Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: Saul Wold <sgw@linux.intel.com>
Cc: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/2] pseudo: Tell pseudo to avoid specifying an RPATH
Date: Fri, 13 Apr 2012 10:22:21 -0500	[thread overview]
Message-ID: <4F8844AD.8090406@windriver.com> (raw)
In-Reply-To: <4F884293.6000101@linux.intel.com>

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<mark.hatle@windriver.com>
>> ---
>>    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"
>>




  reply	other threads:[~2012-04-13 15:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12 21:21 [PATCH 0/2] Two small fixes, pseudo and rpm Mark Hatle
2012-04-12 21:21 ` [PATCH 1/2] pseudo: Tell pseudo to avoid specifying an RPATH Mark Hatle
2012-04-13 15:13   ` Saul Wold
2012-04-13 15:22     ` Mark Hatle [this message]
2012-04-13 15:33       ` Richard Purdie
2012-04-13 15:40         ` Mark Hatle
2012-04-13 15:50           ` Richard Purdie
2012-04-12 21:21 ` [PATCH 2/2] rpm: Ensure that we check both providename and filepaths Mark Hatle
2012-04-12 21:19   ` Steve Sakoman
2012-04-13 15:11 ` [PATCH 0/2] Two small fixes, pseudo and rpm Saul Wold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F8844AD.8090406@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=sgw@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox