Difference between revisions of "Building with ooobuild"
KnightCode (Talk | contribs) (→configure) |
|||
(24 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
== Vanilla Up-stream builds == | == Vanilla Up-stream builds == | ||
− | + | {{Tip| If you want to build: | |
− | + | * the Vanilla Openoffice.org releases/milestones or | |
− | + | * want to directly contribute to the development (using [[ChildWorkSpace]]s) | |
− | + | '''Everything you need to know is explained in the [[Development/OpenOffice.org Building Guide|Building Guide]].'''}} | |
− | + | ||
− | + | ||
== ooo-build builds == | == ooo-build builds == | ||
Line 14: | Line 12: | ||
---- | ---- | ||
<br> | <br> | ||
+ | |||
+ | === get the source === | ||
+ | |||
+ | You need to checkout the source code using git: | ||
+ | |||
+ | git clone git://anongit.freedesktop.org/git/ooo-build/ooo-build | ||
+ | |||
+ | (see [http://freedesktop.org/wiki/Software/ooo-build/GettingIt fd.o wiki] for authoritative info) | ||
=== configure === | === configure === | ||
Line 21: | Line 27: | ||
of commands now; although running both won't actually hurt: | of commands now; although running both won't actually hurt: | ||
</p> | </p> | ||
− | ./autogen.sh # only for the | + | ./autogen.sh --with-distro=<b>HelloMum</b> # only for the git version |
− | ./configure # the packaged version | + | ./configure --with-distro=<b>HelloMum</b> # the packaged version |
<p> | <p> | ||
Line 28: | Line 34: | ||
you have other ideas use the --with-tag option; eg. | you have other ideas use the --with-tag option; eg. | ||
<code>--with-tag=src680-m65</code> for a legacy branch. | <code>--with-tag=src680-m65</code> for a legacy branch. | ||
+ | </p> | ||
+ | <p> | ||
+ | NB. getting your distro right is quite important; values like | ||
+ | SUSE-10.1 (also SLED10), UbuntuDapper, DebianEtch64 may float | ||
+ | your boat. Checkout <code>ls distro-configs</code> to see more. | ||
</p> | </p> | ||
<p> | <p> | ||
Line 37: | Line 48: | ||
</p> | </p> | ||
<p> | <p> | ||
− | In particular, building | + | In particular, building DEV300 requires a recent jdk & a |
version of apache-ant. If you use a Novell system, just do: | version of apache-ant. If you use a Novell system, just do: | ||
<code>sudo rug in apache-ant</code>, alternatively download | <code>sudo rug in apache-ant</code>, alternatively download | ||
Line 46: | Line 57: | ||
<h4>Known ./configure parameters</h4> | <h4>Known ./configure parameters</h4> | ||
<ul> | <ul> | ||
+ | <li><h5>up-stream options</h5><p> - all options are passed through directly | ||
+ | to the internal configure, so they should work nicely here too.</p> | ||
+ | </li> | ||
<li><h5><code>--with-system-<package name></code></h5> | <li><h5><code>--with-system-<package name></code></h5> | ||
<p>where <package name> is replaced by the package to use. I don't | <p>where <package name> is replaced by the package to use. I don't | ||
Line 56: | Line 70: | ||
<code>--with-system-gcc</code><br> | <code>--with-system-gcc</code><br> | ||
<code>--with-system-neon</code><br> | <code>--with-system-neon</code><br> | ||
+ | <code>--with-system-curl</code><br> | ||
</p> | </p> | ||
</li> | </li> | ||
Line 61: | Line 76: | ||
<p><b>Examples:</b><br> | <p><b>Examples:</b><br> | ||
<code>--without-system-mozilla</code> | <code>--without-system-mozilla</code> | ||
+ | </p> | ||
+ | </li> | ||
+ | <li><h5><code>--with-<package or tag>[=value]</code></h5> | ||
+ | <p><b>Examples:</b><br> | ||
+ | <code>--with-lang=en-US</code><br> | ||
+ | <code>--with-build-version="Build 2.0.1.3"</code><br> | ||
+ | <code>--with-distro=Gentoo</code><br> | ||
+ | </p> | ||
+ | </li> | ||
+ | <li><h5><code>--without-<package or tag></code></h5> | ||
+ | <p><b>Examples:</b><br> | ||
+ | <code>--without-myspell-dicts</code><br> | ||
+ | <code>--without-java</code><br> | ||
+ | <code>--without-nas</code><br> | ||
</p> | </p> | ||
</li> | </li> | ||
Line 81: | Line 110: | ||
=== Requirements === | === Requirements === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | On opensuse 11.1, this line should get you all prerequisites: | |
+ | zypper si -d OpenOffice_org-bootstrap | ||
− | In SuSE, you need gecko-sdk | + | Also see the distro-specific setup in the link section at the bottom, otherwise here's the detailed list: |
+ | *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 <code>--with-java=no</code> to either <code>autogen.sh</code> or <code>configure</code>. | ||
+ | *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[http://ooo.ximian.com/cpan.html] 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 <code>--disable-openldap</code> to <code>autogen.sh</code> or <code>configure</code>. | ||
+ | *You need neon and neon-devel. | ||
+ | *You need qt3 and qt3-devel, or if you don't have the KDE development packages, pass <code>--disable-kde</code> to <code>autogen.sh</code> or <code>configure</code>. | ||
+ | *You need mozilla-nss-devel. | ||
+ | *In SuSE, you need gecko-sdk, mono-devel and cups-devel | ||
=== download === | === download === | ||
Line 117: | Line 140: | ||
by fetching the equivalent .md5 file & comparing it to | by fetching the equivalent .md5 file & comparing it to | ||
the result of <code>md5sum <archive></code>. The source | the result of <code>md5sum <archive></code>. The source | ||
− | archives are http://go- | + | archives are http://download.go-oo.org/SRC680 |
- put the source in ooo-build/src. | - put the source in ooo-build/src. | ||
</p> | </p> | ||
Line 142: | Line 165: | ||
*[[Tinderbox Setup]] | *[[Tinderbox Setup]] | ||
*[[BuildSpeedup]] | *[[BuildSpeedup]] | ||
− | *[[ | + | *[[OpenSUSE Build Instructions]] |
+ | *[[SUSE9.3 Build Instructions]] | ||
+ | *[[Building ooo-build on Mac OS X]] | ||
+ | *[[Ubuntu Build Instructions]] | ||
+ | *OpenOffice.org "Tools" page [http://tools.openoffice.org/dev_docs/build_linux.html] | ||
+ | *[[Build Tool Requirements]] | ||
+ | *[[O3-build|O3 Build]], an ISO image containing all the required software to build OOo on Linux. | ||
− | [[Category: | + | [[Category:Build_System]] |
Latest revision as of 16:50, 14 July 2018
Contents
Vanilla Up-stream builds
If you want to build:
Everything you need to know is explained in the Building Guide. |
ooo-build builds
If you are looking for additional building tips for Windows check this page first.
get the source
You need to checkout the source code using git:
git clone git://anongit.freedesktop.org/git/ooo-build/ooo-build
(see fd.o wiki for authoritative info)
configure
The build process is pretty complicated; you have a choice of commands now; although running both won't actually hurt:
./autogen.sh --with-distro=HelloMum # only for the git version ./configure --with-distro=HelloMum # 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.
NB. getting your distro right is quite important; values like
SUSE-10.1 (also SLED10), UbuntuDapper, DebianEtch64 may float
your boat. Checkout ls distro-configs
to see more.
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 DEV300 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
up-stream options
- all options are passed through directly to the internal configure, so they should work nicely here too.
--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
On opensuse 11.1, this line should get you all prerequisites:
zypper si -d OpenOffice_org-bootstrap
Also see the distro-specific setup in the link section at the bottom, otherwise here's the detailed list:
- 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, mono-devel and cups-devel
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://download.go-oo.org/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
- SUSE9.3 Build Instructions
- Building ooo-build on Mac OS X
- Ubuntu Build Instructions
- OpenOffice.org "Tools" page [2]
- Build Tool Requirements
- O3 Build, an ISO image containing all the required software to build OOo on Linux.