From ded899b5804c7ceb108e9476d1164f7da0adfb34 Mon Sep 17 00:00:00 2001 From: Scott Garman Date: Tue, 11 Jan 2011 23:20:02 -0800 Subject: libtool: fix library RPATHs Enabling sysroot support exposed a bug where the final library had an RPATH encoded into it which still pointed to the sysroot. This works around the issue until it gets sorted out upstream. Fix suggested by Richard Purdie Signed-off-by: Scott Garman --- meta/recipes-devtools/libtool/libtool.inc | 3 +- .../libtool/libtool/fix-final-rpath.patch | 36 ++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc index bccb7698b4..8701c820d2 100644 --- a/meta/recipes-devtools/libtool/libtool.inc +++ b/meta/recipes-devtools/libtool/libtool.inc @@ -13,7 +13,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://prefix-manpage-fix.patch \ file://rename-with-sysroot.patch \ file://resolve-sysroot.patch \ - file://use-sysroot-in-libpath.patch" + file://use-sysroot-in-libpath.patch \ + file://fix-final-rpath.patch" do_compile_prepend () { # Sometimes this file doesn't get rebuilt, force the issue diff --git a/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch new file mode 100644 index 0000000000..402e2c6b51 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch @@ -0,0 +1,36 @@ +Enalbing sysroot support exposed a bug where the final library +had an RPATH encoded into it which still pointed to the sysroot. +This works around the issue until it gets sorted out upstream. + +Fix suggested by Richard Purdie +Signed-off-by: Scott Garman + +Index: libtool-2.4/libltdl/config/ltmain.m4sh +=================================================================== +--- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-01-13 14:10:14.580025108 +0000 ++++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-01-13 15:10:18.540025113 +0000 +@@ -7246,9 +7246,11 @@ + test "$opt_mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then ++ func_replace_sysroot "$libdir" ++ libdir=$func_replace_sysroot_result ++ func_stripname '=' '' "$libdir" ++ libdir=$func_stripname_result + if test -n "$hardcode_libdir_separator"; then +- func_replace_sysroot "$libdir" +- libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else +@@ -7981,6 +7983,10 @@ + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then ++ func_replace_sysroot "$libdir" ++ libdir=$func_replace_sysroot_result ++ func_stripname '=' '' "$libdir" ++ libdir=$func_stripname_result + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" -- cgit v1.2.3