Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi,

our build service found broken RPATH in libicudata.so.42.1; it is fixed
by the attached patch

Cedric, could you please sign it off for libreoffice-3-3.

It works well on Linux with bash. I think that it can't be worse on
other systems ;-)


Best Regards,
Petr
From 1395e5600091d6d768690cb66181c9c3417343e1 Mon Sep 17 00:00:00 2001
From: Petr Mladek <pmladek@suse.cz>
Date: Wed, 5 Jan 2011 20:14:29 +0100
Subject: [PATCH] set RPATH correctly in the internal icu

RPATH must be set to $ORIGIN:$ORIGIN/../ure-link/lib; it was broken
in libicudata.so.42.1 because the $ORIGIN was substituted

the patch escapes '$' with '\' before using in the command 'echo'
---
 patches/dev300/apply                |    2 +
 patches/dev300/icu-4.2.1-rpath.diff |   36 +++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100644 patches/dev300/icu-4.2.1-rpath.diff

diff --git a/patches/dev300/apply b/patches/dev300/apply
index e9232b1..4085d29 100755
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -181,6 +181,8 @@ ok-cancel-btn-add-accel.diff, kohei
 
 # Upgraded internal ICU to 4.2.1
 icu-4.2.1.diff, cbosdo
+# pass $ORIGIN correctly to RPATH
+icu-4.2.1-rpath.diff. pmladek
 
 [ TemporaryHacks ]
 
diff --git a/patches/dev300/icu-4.2.1-rpath.diff b/patches/dev300/icu-4.2.1-rpath.diff
new file mode 100644
index 0000000..02e8bec
--- /dev/null
+++ b/patches/dev300/icu-4.2.1-rpath.diff
@@ -0,0 +1,36 @@
+--- icu/icu4c-4_2_1-src-rpath.patch.old        2011-01-03 17:54:31.000000000 +0100
++++ icu/icu4c-4_2_1-src-rpath.patch    2011-01-03 17:58:18.000000000 +0100
+@@ -0,0 +1,21 @@
++--- misc/icu/source/data/pkgdataMakefile.in   2010-12-22 23:44:02.000000000 +0100
+++++ misc/build/icu/source/data/pkgdataMakefile.in     2011-01-03 17:52:44.000000000 +0100
++@@ -15,6 +15,9 @@ include $(top_builddir)/icudefs.mk
++ OUTPUTFILE=icupkg.inc
++ MIDDLE_SO_TARGET=
++ 
+++# escape $ with \ when passing to echo; needed to preserve $ORIGIN
+++SHLIB.c.shell := $(subst $$,\$$,$(SHLIB.c))
+++
++ all : clean 
++      @echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
++      @echo SO=$(SO) >> $(OUTPUTFILE)
++@@ -24,7 +27,7 @@ all : clean
++      @echo LIB_EXT_ORDER=$(FINAL_SO_TARGET) >> $(OUTPUTFILE)
++      @echo COMPILE="$(COMPILE.c)" >> $(OUTPUTFILE)
++      @echo LIBFLAGS="-I$(top_srcdir)/common -I$(top_builddir)/common $(SHAREDLIBCPPFLAGS) 
$(SHAREDLIBCFLAGS)" >> $(OUTPUTFILE)
++-     @echo GENLIB="$(SHLIB.c)" >> $(OUTPUTFILE)
+++     @echo GENLIB="$(SHLIB.c.shell)" >> $(OUTPUTFILE)
++      @echo LDICUDTFLAGS=$(LDFLAGSICUDT) >> $(OUTPUTFILE)
++      @echo LD_SONAME=$(LD_SONAME) >> $(OUTPUTFILE)
++      @echo RPATH_FLAGS=$(RPATH_FLAGS) >> $(OUTPUTFILE)
+--- icu/makefile.mk.old        2010-12-22 23:42:29.000000000 +0100
++++ icu/makefile.mk    2011-01-03 17:55:27.000000000 +0100
+@@ -47,7 +47,8 @@ TARFILE_MD5=
+ TARFILE_ROOTDIR=icu
+ 
+ PATCH_FILES=\
+-    ${TARFILE_NAME}.patch
++    ${TARFILE_NAME}.patch \
++    ${TARFILE_NAME}-rpath.patch
+ 
+ # ADDITIONAL_FILES=
+ 
-- 
1.7.3.4


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.