[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