On Fri, Aug 1, 2014 at 11:27 AM, Alexander Pyhalov <a...@rsu.ru> wrote:
> 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.
>

This is great news.

> 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/   .
>

We would need Apostolos to agree to contribute under the Apache
License 2.0 as well, since this is based on his work.  (Or did he
already contribute the patches from his blog?)  For example, it would
be fine if he just sent a note to the mailing list, pointing to the
blog posts, and saying that he contributes them to the AOO project
under the Apache License 2.0.

Thanks!

-Rob


> 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
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to