[oi-dev] Review OpenOffice component
Alexander Pyhalov
alp at rsu.ru
Fri Aug 1 08:36:34 UTC 2014
Hello.
Please, review OpenOffice component -
https://github.com/pyhalov/oi-userland/compare/openoffice .
It is based on Apostolos Syropoulos work
https://asyropoulos.wordpress.com/2014/02/05/compiling-openoffice4/ and
ec-userland openoffice component draft made by Alasdair Lumsden.
The main distinctions - we use GCC 4.8 and illumos ld linker to compile OO.
Patches necessary to compile it:
01.use-illumos-ld.patch
OpenOffice configure script doesn't like illumos ld and GCC on Solaris.
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 OO to search it there.
We can't use CPPFLAGS, because this breaks icu compilation.
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.
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 OO 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 OI we have /usr/apr/include, not /usr/include/apr. Also runpaths for
APR and APR-UTIL are missing.
15.icu.patch (in fact, patch to patch :))
There are two issues. 1) in uperf.cpp _XOPEN_SOURCE_EXTENDED is defined.
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"
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.
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:
We have to copy some desktop-specific files from OO distribution (icons,
mime-info, etc). bootstraprc has incorrect UserInstallation setting and
tries to write user configs to installation directory (fix was taken
from FreeBSD port). Some binaries have incorrect runpaths. Fix this.
--
Best regards,
Alexander Pyhalov,
system administrator of Computer Center of Southern Federal University
More information about the oi-dev
mailing list