Patchwork [2/2] libiconv: Remove RPATH from binaries

login
register
mail settings
Submitter Björn Stenberg
Date Feb. 8, 2013, 3:35 p.m.
Message ID <1360337733-51730-3-git-send-email-bjst@enea.com>
Download mbox | patch
Permalink /patch/44401/
State Accepted
Commit 273c437813b19577d68fa49ec04ea42154ad70c9
Headers show

Comments

Björn Stenberg - Feb. 8, 2013, 3:35 p.m.
Modify libtool to not add RPATH.
This solves https://bugzilla.yoctoproject.org/show_bug.cgi?id=2669

Signed-off-by: Björn Stenberg <bjst@enea.com>
---
 meta/recipes-support/libiconv/libiconv_1.14.bb |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
Richard Purdie - Feb. 11, 2013, 3:41 p.m.
On Fri, 2013-02-08 at 16:35 +0100, Björn Stenberg wrote:
> Modify libtool to not add RPATH.
> This solves https://bugzilla.yoctoproject.org/show_bug.cgi?id=2669
> 
> Signed-off-by: Björn Stenberg <bjst@enea.com>
> ---
>  meta/recipes-support/libiconv/libiconv_1.14.bb |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/recipes-support/libiconv/libiconv_1.14.bb b/meta/recipes-support/libiconv/libiconv_1.14.bb
> index 6666866..b1d2612 100644
> --- a/meta/recipes-support/libiconv/libiconv_1.14.bb
> +++ b/meta/recipes-support/libiconv/libiconv_1.14.bb
> @@ -34,6 +34,12 @@ do_configure_prepend () {
>  	rm -f m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 libcharset/m4/libtool.m4 libcharset/m4/ltoptions.m4 libcharset/m4/ltsugar.m4 libcharset/m4/ltversion.m4 libcharset/m4/lt~obsolete.m4
>  }
>  
> +do_configure_append () {
> +        # forcibly remove RPATH from libtool
> +        sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' *libtool
> +        sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=_NO_RPATH_|g' *libtool
> +}
> +
>  do_install_append () {
>  	rm -rf ${D}${libdir}/preloadable_libiconv.so
>  	rm -rf ${D}${libdir}/charset.alias

That RPATH warning is annoying and I know I've tried unsuccessfully to
remove it before. I've merged this although the fact the above was
needed suggests something is wrong in libtool itself since it shouldn't
have decided to hardcode this.

Cheers,

Richard

Patch

diff --git a/meta/recipes-support/libiconv/libiconv_1.14.bb b/meta/recipes-support/libiconv/libiconv_1.14.bb
index 6666866..b1d2612 100644
--- a/meta/recipes-support/libiconv/libiconv_1.14.bb
+++ b/meta/recipes-support/libiconv/libiconv_1.14.bb
@@ -34,6 +34,12 @@  do_configure_prepend () {
 	rm -f m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 libcharset/m4/libtool.m4 libcharset/m4/ltoptions.m4 libcharset/m4/ltsugar.m4 libcharset/m4/ltversion.m4 libcharset/m4/lt~obsolete.m4
 }
 
+do_configure_append () {
+        # forcibly remove RPATH from libtool
+        sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' *libtool
+        sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=_NO_RPATH_|g' *libtool
+}
+
 do_install_append () {
 	rm -rf ${D}${libdir}/preloadable_libiconv.so
 	rm -rf ${D}${libdir}/charset.alias