Hello.
I've just integrated OpenOffice component into OpenIndiana /hipster
illumos distribution. I'd like to share some patches and to ask if they
could be converted to bug reports, feature requests and which of them
can be integrated.
OpenIndiana distribution tries to be compatible with Solaris 11.
However, there are several distinctions, the main one is system
compiler. We use gcc (4.8) with illumos (former Sun Solaris) linker
instead of Sun Studio.
The work I've made was based on earlier work of Apostolos Syropoulos,
which he described here:
https://asyropoulos.wordpress.com/2014/02/05/compiling-openoffice4/ .
The full component is available here:
https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/openoffice/openoffice
.
And patches are in "patches" subdirectory:
https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/openoffice/openoffice/patches
.
I had to make about 20 changes.
01.use-illumos-ld.patch
OpenOffice configure script doesn't like illumos ld and GCC on Solaris,
so I relaxed this restriction.
02.use-gcc.patch
Patches to main solenv/* make files are mostly taken from Apostolos blog
(perhaps, with some corrections) and IIRC are based on Linux makefiles.
They are necessary to introduce Solaris/GCC platform.
03.g++-includes.patch
Our boost live in /usr/g++, so we have to teach OpenOffice to search it
there. We can't use CPPFLAGS, because this breaks icu compilation. It
would be perfect if we can provide boost path with configure switch.
04.gmake-j.patch
dmake is supposed to call gmake in several cases. But sometimes it calls
dmake or make and it doesn't like "-j" flags. Don't know why it happens.
So I just had to remove "-j" flags.
05.visibility.patch
Without this patch some symbols are hidden during sc compilation.
06.ignore_mapfiles.patch
Some mapfiles introduce symbols which are not present in OpenIndiana.
07.cstring.patch
Missing <cstring> includes.
08.adsyms.awk.patch
Complements 06.ignore_mapfiles.patch. _ZTI* symbols are not present in
result libraries.
09.libxmlsec-ldflags.patch
LDFLAGS are not passed during libxmlsec build
10.xinerama.patch
Two issues - 1) saldisp defines MAXFRAMEBUFFERS only for XSUN.
2) neither USE_XINERAMA_XORG nor USE_XINERAMA_XSUN are defined.
11.wmadaptor-gcc48.patch
It seems just gcc 4.8 doesn't like &const_cast<char*>(pText) construction.
12.undefine-macroses.patch
Some symbols used by OpenOffice are defined in our headers. Undefine them.
13.remove-studio-specific.patch
Studio flags are unconditionally passed to the compiler. Fix this.
14.webdav-apr.patch
On OpenIndiana we have /usr/apr/include, not /usr/include/apr. Also
runpaths for APR and APR-UTIL are missing. Perhaps, adding some switch
to set apr/apr-util runpath and include <header.h> instead of
<apr/header.h> would help here.
15.icu.patch (in fact, patch to patch :))
There are two issues.
1) in uperf.cpp _XOPEN_SOURCE_EXTENDED is defined. This hides some
symbols on Solaris/illumos. So, we don't receive _XPG6 and get an error
"Compiler or options invalid for pre-UNIX 03 X/Open applications \
and pre-2001 POSIX applications"
There's no need to define this guard on illumos.
2) We should add runpath to binaries, else compiling icu is linked to
system icu in /usr/lib (compiled with Studio) and we receive binaries
which are linked to both Studio and GCC C++ runtime simultaneously.
16.lstdc++.patch
Binaries are unconditionally linked to lCstd on Solaris. Fix this.
17.nss.patch
OpenOffice has hardcoded paths for nss libraries and headers. Set paths
to our paths. One more time when having configure switch is desirable.
18.sal_osl_unx.patch
1) One more define supposing that the only Solaris compiler is Studio
2) We (as MACOSX) also have posix_madvise (just cut&paste Apostolos'
change, don't know, why usual madvise fails to work, perhaps, missing
headers).
Post-install processing:
bootstraprc has incorrect UserInstallation setting and tries to write
user configs to installation directory (fix was taken from FreeBSD
port). Alsoe some binaries have incorrect runpaths. Fix this.
--
Best regards,
Alexander Pyhalov,
system administrator of Computer Center of Southern Federal University
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org