Building with ooobuild
Vanilla Up-stream builds
See the tools project for build guides for various platforms.
Also for OS/X see MacOSXBuildInstructions
For GNU/Linux Sparc, with gcc4.1 & gcj, see GNULinuxSparcPorting
ooo-build builds
If you are looking for additional building tips for Windows check this page first.
configure
The build process is pretty complicated; you have a choice of commands now; although running both won't actually hurt:
./autogen.sh # only for the CVS version ./configure # the packaged version
This will guess which branch snapshot you want to build; if
you have other ideas use the --with-tag option; eg.
--with-tag=src680-m65
for a legacy branch.
If for some reason you have a 31337 multi-threaded computer, with great slabs of RAM; you'll want to use --with-num-cpus=8 etc. NB. it's not clever to force the build to swap like a demented pawnbroker by using an artificially high number; C++ compilation is seriously memory hungry.
In particular, building SRC680 requires a recent jdk & a
version of apache-ant. If you use a Novell system, just do:
sudo rug in apache-ant
, alternatively download
a package from " rpmfind.net or failing that see Ant download
& set the ANT environment variable
appropriately before configuring.
Known ./configure parameters
--with-system-<package name>
where <package name> is replaced by the package to use. I don't have a particularly good understanding of its full effects beyond the fact that it (probably) doesn't then build its own copy of the package.
Examples:
--with-system-python
--with-system-mozilla
--with-system-gcc
--with-system-neon
--with-system-curl
--without-system-<package name>
Examples:
--without-system-mozilla
--with-<package or tag>[=value]
Examples:
--with-lang=en-US
--with-build-version="Build 2.0.1.3"
--with-distro=Gentoo
--without-<package or tag>
Examples:
--without-myspell-dicts
--without-java
--without-nas
--enable-<package name>
Examples:
--enable-openldap
--disable-<package name>
Examples:
--disable-openldap
--disable-qadevoo
--disable-mozilla
--disable-access
--disable-evolution2
--mandir=<dir>
Requirements
- A recent version of automake, such as the 1.9 series.
- If you don't have a working Java VM (i.e. any runtime), you should pass
--with-java=no
to eitherautogen.sh
orconfigure
. - You need the Archive/Zip module for Perl (perl-Archive-Zip on RPM-based distributions, libarchive-zip-perl on dpkg-based distributions). Alternatively, see instructions[1] for obtaining Perl modules through CPAN.
- You need the development package for Python (this would be python-devel on RPM-based distributions).
- You need curl and curl-devel.
- You need odbc_config to be present. On SUSE systems, this is in the unixODBC-devel package.
- You need libsndfile and libsndfile-devel.
- If you don't have a recent enough openldap, pass
--disable-openldap
toautogen.sh
orconfigure
. - You need neon and neon-devel.
- You need qt3 and qt3-devel, or if you don't have the KDE development packages, pass
--disable-kde
toautogen.sh
orconfigure
. - You need mozilla-nss-devel.
- In SuSE, you need gecko-sdk.
download
By the time you've upgraded your system to the point that it
has all the packages you need to start building OO.o (mozilla etc. etc.) you're almost at the point that you
can download the bulk of the source. To do this, after a
successful configure simply type: ./download
and wait.
If for whatever reason this fails, you can verify your download
by fetching the equivalent .md5 file & comparing it to
the result of md5sum <archive>
. The source
archives are http://go-ooo.org/packages/SRC680
- put the source in ooo-build/src.
make
This is the taxing bit - type make
and don't forget
to press enter. Quite possibly you want to log the output, so
why not make 2>&1 | tee /tmp/log
.
Since ooo-build wraps the actual OO.o configuration & build process, there are a number of internal config checks that also need to pass. For a first time build it's well worth staying near the console while everything unpacks, and the internal configure runs; if that completes without incident - you're usually into the heavy-duty thumb twiddling.
See also
- Installing
- Tinderbox Setup
- BuildSpeedup
- OpenSUSE Build Instructions
- Ubuntu Build Instructions
- OpenOffice.org "Tools" page [2]