[OE-core] [PATCH V2] chrpath.bbclass: Account for case when ORIGIN is in RPATH

Henning Heinold heinold at inf.fu-berlin.de
Thu Aug 16 06:44:29 UTC 2012


On Wed, Aug 15, 2012 at 08:15:46PM -0700, Khem Raj wrote:
> This fixes a case when RPATH embedded in program have one of
> its path already relative to ORIGIN. We were losing that path
> if such a path existed. This patch appends it to the new edited
> rpath being created when we see it.
> 
> so RPATH like below
> 
> (RPATH)              Library rpath:
> [$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli]
> 
> would end up being empty
> 
> but after this patch its kept intact
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  meta/classes/chrpath.bbclass |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
> index 10b5ca0..861d369 100644
> --- a/meta/classes/chrpath.bbclass
> +++ b/meta/classes/chrpath.bbclass
> @@ -48,8 +48,9 @@ def process_dir (directory, d):
>              rpaths = curr_rpath.split(":")
>              new_rpaths = []
>              for rpath in rpaths:
> -                # If rpath is already dynamic continue
> +                # If rpath is already dynamic copy it to new_rpath and continue
>                  if rpath.find("$ORIGIN") != -1:
> +                    new_rpaths.append("%s" % (rpath.strip()))
>                      continue
>                  # If the rpath shares a root with base_prefix determine a new dynamic rpath from the
>                  # base_prefix shared root
> -- 
> 1.7.9.5

Hi Khem,

just notice my solution some months ago

http://patches.openembedded.org/patch/24461/

Bye Henning




More information about the Openembedded-core mailing list