summaryrefslogtreecommitdiff
path: root/ure/source
diff options
context:
space:
mode:
authorStephan Bergmann <sb@openoffice.org>2005-05-30 06:38:02 +0000
committerStephan Bergmann <sb@openoffice.org>2005-05-30 06:38:02 +0000
commit6d4291a9519681b77e7def7cf961dbff7722b395 (patch)
tree1dcbf8f8d90735fe4ebcfd5850c7406e8611f639 /ure/source
parent8147bf27e910cdeaa587b5d2b27968b328ffb7bb (diff)
#122871# Updated documentation.
Diffstat (limited to 'ure/source')
-rw-r--r--ure/source/README20
-rw-r--r--ure/source/uretest/Makefile6
-rw-r--r--ure/source/uretest/Makefile.pln8
-rw-r--r--ure/source/uretest/README30
4 files changed, 33 insertions, 31 deletions
diff --git a/ure/source/README b/ure/source/README
index d3aeee061f61..f0848cba03fc 100644
--- a/ure/source/README
+++ b/ure/source/README
@@ -2,9 +2,9 @@
#
# $RCSfile: README,v $
#
-# $Revision: 1.4 $
+# $Revision: 1.5 $
#
-# last change: $Author: sb $ $Date: 2005-05-27 15:04:04 $
+# last change: $Author: sb $ $Date: 2005-05-30 07:38:01 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -337,6 +337,22 @@ Java versions are incompatible (e.g., when the SDK uses Java 5 to create class
files, and the URE Java Framework mechanism selects a Java 1.4 VM which cannot
read them).
+On Linux x86, the URE contains a libgcc_s.so.1 that is necessary to run binary
+UNO components that are compiled with GCC. Compatibility problems can occur
+when additional UNO components are deployed, compiled with a GCC version that
+differs from the one used to compile the URE itself. The libgcc_s.so.1 (which
+is part of GCC) evolves along at least two dimensions: the version of GCC, and
+the verions of glibc available while building GCC itself. While UNO components
+requiring an old version of libgcc_s.so.1 typically also work with a newer
+version, the reverse is generally not true (one symptom is that throwing C++
+exceptions invariably leads to process abort). The URE shipped by Sun
+Microsystems, Inc. includes a libgcc_s.so.1 corresponding to GCC 3.4.1 built on
+a glibc 2.2.4 system. The solution to the compatibility issue is to always use
+a sufficiently recent version of libgcc_s.so.1 that fulfills the requirements of
+the URE itself and any additionally deployed UNO components. Thus, if
+necessary, either permanently replace the libgcc_s.so.1 in the URE installation,
+or use LD_PRELOAD.
+
Notes on programming:
---------------------
diff --git a/ure/source/uretest/Makefile b/ure/source/uretest/Makefile
index 33b65a2ae824..94ad36c018cf 100644
--- a/ure/source/uretest/Makefile
+++ b/ure/source/uretest/Makefile
@@ -2,9 +2,9 @@
#
# $RCSfile: Makefile,v $
#
-# $Revision: 1.2 $
+# $Revision: 1.3 $
#
-# last change: $Author: sb $ $Date: 2005-05-26 14:49:12 $
+# last change: $Author: sb $ $Date: 2005-05-30 07:38:01 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -59,7 +59,7 @@
#
#*************************************************************************
-# The following variable can be set, if necessary:
+# The following variable can be set, if necessary (see README):
#GCCS_COMPAT := LD_PRELOAD=/lib/libgcc_s.so.1
diff --git a/ure/source/uretest/Makefile.pln b/ure/source/uretest/Makefile.pln
index 0caab533c07f..b7926826952b 100644
--- a/ure/source/uretest/Makefile.pln
+++ b/ure/source/uretest/Makefile.pln
@@ -2,9 +2,9 @@
#
# $RCSfile: Makefile.pln,v $
#
-# $Revision: 1.1 $
+# $Revision: 1.2 $
#
-# last change: $Author: sb $ $Date: 2005-05-26 14:49:28 $
+# last change: $Author: sb $ $Date: 2005-05-30 07:38:02 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -59,10 +59,10 @@
#
#*************************************************************************
-# The following variable must be set:
+# The following variable must be set (see README):
#SDK_HOME := /opt/OpenOffice.org2.0_SDK
-# The following variables can be set, if necessary:
+# The following variables can be set, if necessary (see README):
#URE_HOME := /opt/openoffice.org/ure
#GCCS_COMPAT := LD_PRELOAD=/lib/libgcc_s.so.1
diff --git a/ure/source/uretest/README b/ure/source/uretest/README
index cda526b060d0..bba244944e4c 100644
--- a/ure/source/uretest/README
+++ b/ure/source/uretest/README
@@ -2,9 +2,9 @@
#
# $RCSfile: README,v $
#
-# $Revision: 1.2 $
+# $Revision: 1.3 $
#
-# last change: $Author: sb $ $Date: 2005-05-26 14:48:02 $
+# last change: $Author: sb $ $Date: 2005-05-30 07:38:02 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -76,9 +76,9 @@ Three things need to be noted:
working with the SDK, but needed by Makefile).
- On Linux x86, the environment variable GCCS_COMPAT can be used to work around
- incompatibilities between the GCC version used to build the URE (GCC 3.4.x)
- and the GCC version configured in the SDK. See below under Makefile.pln for
- details.
+ incompatibilities between the GCC version used to build the URE and the GCC
+ version used while executing the tests (see above for the configured C++
+ compiler). See the README of the UDK for further details.
The second, Makefile.pln, is intended to be run without setting up any special
environment. Currently, this variant is only intended to work on Linux x86.
@@ -94,23 +94,9 @@ The things that must be set up manually are:
default URE location (/opt/openoffice.org/ure).
- The environment variable GCCS_COMPAT can be used to work around
- incompatibilities between the GCC version used to build the URE (GCC 3.4.x)
- and the GCC version used while executing the tests (see below). The problem
- is that handling C++ exceptions often does not work reliably (leads to
- aborting the process) when components built with different GCC versions are
- run together in one process. The solution is to force the process to use the
- "better" version of libgcc_s.so.1 (which comes as part of the GCC
- installation; the GCC 3.4.x version is also included in the URE installation
- set). That is, if the GCC version used while executing the tests is the one
- installed on the system, and is for example either GCC 3.3.x or GCC 4.0.x,
- then GCCS_COMPAT should be set to
-
- LD_PRELOAD=/lib/libgcc_s.so.1
-
- to force usage of the system's libgcc_s.so.1 version (which is known to be
- "better" in those cases). For GCC 3.4.x versions, GCCS_COMPAT need not be
- set, and for other versions of GCC some experimentation might be necessary to
- find out which version of libgcc_s.so.1 works.
+ incompatibilities between the GCC version used to build the URE and the GCC
+ version used while executing the tests (see next). See the README of the UDK
+ for further details.
- A GCC installation (including g++) is expected to be available on the PATH.
See the SDK Installation Guide ($SDK_HOME/docs/install.html) for minimum