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
- [Libreoffice] [PATCH] set RPATH correctly in the internal ICU · Petr Mladek
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.