OpenSolaris Build Instructions
This page is moved into the Building Guide please make sure to add new information there and make this page a redirect if it only contains duplicate information. |
The page should be filled with useful information about how to build a recent version of OOo on the OpenSolaris platform. Some mailing list postings showed that this may not be an easy task.
This description refers to an OpenSolaris 2008.11 (svn_100). Please note that you need at least 1.5 GB virtual memory to successfully build OOo on OpenSolaris. It is highly recommended to set TMP to a directory on a real disk (per default /tmp which resides in memory).
Prerequisites
If you have a freshly installed OpenSolaris you may need the following packages to build OpenOffice.org. A package can be installed with:
pfexec pkg install <packagename>
- SUNWxorg-headers
- IPSgawk (from blastwave.org)
- IPSpkgconfig (from blastwave.org)
- SUNWant (currently OOo configure is not able to detect the system ANT properly, you have to manually install ANT and use --with-ant-home)
- SUNWbison
- SUNWcurl (if you build with --with-system-curl)
- SUNWflexlex
- SUNWgcc (if you build with gcc, not with Sun Studio. Note: this gcc package is linked against Sun ld and currently won't work for OOo)
- SUNWgmake (although not required to build OOo, it is necessary to compile the OOo dmake...)
- SUNWgnu-gperf
- IPSlibicu (if you are building with --with-system-icu)
- SUNWsvn (if you like to checkout sources via Subversion)
You will need the Archive::Zip.pm Perl module which does not ship with OpenSolaris per default. You can manually install it (and its prerequisites) using CPAN with invoking the following commands:
# export PATH=/usr/bin:/opt/SunStudioExpress/bin:$PATH
Note that the command above makes sure that Perl does not use GNU make, which can cause trouble at this point. Later you will need GNU make to build OOo.
# /usr/perl5/bin/perl -MCPAN -e 'shell' cpan> install Archive::Zip cpan> exit
You will need a Sun Studio 11 (version 12 currently not supported).
As on all other platforms you need the unowinreg.dll from http://tools.openoffice.org/unowinreg_prebuild/680/ .
Environment variables
CC=/opt/SunStudioExpress/bin/cc CXX=/opt/SunStudioExpress/bin/CC PKG_CONFIG=/opt/csw/bin/pkg-config PKG_CONFIG_PATH=/usr/lib/pkgconfig GNUMAKE=/usr/bin/gmake
Comment : if $GNUMAKE undefined, make is used instead, and causes breakage in moz e.g.
Special switches
As it requires more work you may want to disable specific features on OpenSolaris. The following configure switches make life easier:
./configure --disable-cups --disable-mozilla --disable-Xaw --disable-randr --with-gnu-patch=/usr/bin/gpatch --with-gnu-cp=/usr/gnu/bin/cp --disable-gtk --with-system-curl --with-jdk-home=/usr/jdk/instances/jdk1.6.0
Please note that some of these switches may disable common features of OOo, but currently there is no practical way to enable them (if you know one, please edit this document).
If you are running configure and run into errors, please visit: Configure Errors
Experimental
There is a work in progress, to make seamonkey1.1.13 (or superior) buildable on OpenSolaris (2008-11). See CWS DEV300 moz2seamonkey01 cws
Current status is, only moz does build (the OOo build is broken on OpenSolaris) but The zipped archive build is ok, and just some little changes remain to be done (code factorization, be sure the right options are used and so on)
More info on http://eric.bachard.free.fr/mac/moz/OpenSolaris/ , where you'll find :
- config.parms (please prefer download and build the moz from moz2seamonkey cws)
- the zipped archives for OpenSolaris (32 bits for now) :
Known issues
If you meet unresolved dependencies in libjawt.so, this issue might be interesting for you.
If the build of module automation failes because libXm.so cannot be found, try to link /var/lib/libXmu.so => /var/lib/Xm.so.
There are of course bugs that prevent OOo from building, see Issuetracker.
If configure cannot find the ant-libs, download ANT manually and provide configure the ant home dir with --with-ant-home=<myanthome> .