|
|
(35 intermediate revisions by 12 users not shown) |
Line 1: |
Line 1: |
− | == Ubuntu 8.10 Intrepid ==
| + | {{Note|Please add only Ubuntu-specifics here! Use the information on the [[Development/OpenOffice.org Building Guide/Building on Linux|Building Guide]] and only fall back to this document if you need help with Ubuntu-specifics (like package names).}} |
| | | |
− | You probably need the following packages:
| + | __TOC__ |
− | <pre>
| + | == Preparing to build Apache OpenOffice on Ubuntu == |
− | apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev libpam0g-dev subversion \
| + | |
− | sun-java6-jdk gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev libxrandr-dev patch \
| + | |
− | libgconf2-dev libgnomevfs2-dev ant python-dev
| + | |
− | </pre>
| + | |
| | | |
− | == Ubuntu 8.04 (LTS) Hardy ==
| + | To get and build Apache OpenOffice you need some packages. You can get them with: |
− | | + | |
− | For Hardy, the list of recommended packages is different. Here's the command that
| + | |
− | got one first-timer through the many configure errors:
| + | |
| <pre> | | <pre> |
− | aptitude install \
| + | sudo apt-get install subversion g++ gcc bison flex libarchive-zip-perl libcups2-dev libpam0g-dev \ |
− | ant ant-optional automake1.9 bison build-essential cvs \
| + | gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev libxrandr-dev patch \ |
− | flex gcj gperf java-gcj-compat-dev kdebase-dev \ | + | libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev junit junit4 libidl-dev liborbit2-dev</pre> |
− | libagg-dev libaltlinuxhyph-dev libarchive-zip-perl \
| + | |
− | libaudio-dev libboost-dev libcupsys2-dev \
| + | |
− | libcurl4-openssl-dev libdb4.6-dev libdb4.6-java libgcj7-dev \
| + | |
− | libgnomevfs2-dev libgstreamer-plugins-base0.10-dev \
| + | |
− | libgstreamer0.10-dev libgtk2.0-dev libhunspell-dev \
| + | |
− | libjpeg62-dev libldap2-dev libmono-dev libneon26-dev \
| + | |
− | libnss3-dev libpam0g-dev libpam-dev libpng12-dev \
| + | |
− | libportaudio-dev libpq-dev libsablot0-dev \
| + | |
− | libsane-dev libsndfile1-dev libsoap-lite-perl \
| + | |
− | libstartup-notification0-dev libstlport5.1-dev libwpd8-dev \
| + | |
− | libxaw-headers libxml2-dev libxul-dev mingw32 mozilla-dev \
| + | |
− | myspell-tools python-dev tcsh unixodbc-dev
| + | |
− | </pre> | + | |
| | | |
− | === First trial ===
| + | If you want to use the system provided libraries instead of building them for yourself you should get their development packages by running: |
− | | + | |
− | You don't have to install all necessary packages at once, you can go through trial and error to gain more knowledge about the Ubuntu packaging:
| + | |
| | | |
| <pre> | | <pre> |
− | ./configure
| + | sudo apt-get install python-dev ccache libgraphite-dev \ |
| + | libwpd-dev libxslt-dev libhunspell-dev libaltlinuxhyph-dev |
| </pre> | | </pre> |
| | | |
− | Configure without any parameters gives you some errors probably. You can disable some parts, e.g. --disable-mozilla.
| + | The java package depends on your Ubuntu version: |
− | If configure requests for a file you can use the [http://packages.ubuntu.com/ Ubuntu package content search] to get to know which
| + | |
− | package provides such file.
| + | |
− | | + | |
− | The following configure switches are known to work:
| + | |
| | | |
| + | For Ubuntu 9.10 ("Karmic Koala") and 10.04 ("Lucid Lynx") you must activate the "ubuntu lucid partner" archive in the software sources and run |
| <pre> | | <pre> |
− | ./configure --enable-werror --disable-mozilla --disable-cups --disable-gnome-vfs --disable-gconf --disable-gtk --disable-randr --with-system-lpsolve=no --enable-werror with_jdk_home=/usr/lib/jvm/java-6-sun --with-package-format=deb
| + | sudo apt-get install sun-java6-jdk |
| </pre> | | </pre> |
| | | |
− | === With Mozilla ===
| + | For Ubuntu 11.04 and up please run |
− | | + | |
− | The commandline to configure is also a bit different, e.g.
| + | |
− | <pre>
| + | |
− | ./configure --with-distro=UbuntuHardy --with-system-mozilla=xulrunner
| + | |
− | </pre>
| + | |
− | The --with-system-mozilla=xulrunner option seems to fix the configure error
| + | |
| <pre> | | <pre> |
− | checking for libxul-xpcom ... Package libxul-xpcom was not found in the pkg-config search path.
| + | sudo apt-get install openjdk-6-jdk |
| </pre> | | </pre> |
− | This may be related to https://bugs.launchpad.net/ubuntu/hardy/+source/openoffice.org-l10n/+bug/194551
| |
| | | |
− | === Patches ===
| + | To make sure that all packages are installed you could just simply run command: |
− | | + | |
− | Recent developer builds may need additional patches to build properly. You should have a look at the Subversion repository at
| + | |
| <pre> | | <pre> |
− | svn://svn.services.openoffice.org/ooo/patches/buildbot
| + | sudo apt-get build-dep openoffice.org |
| </pre> | | </pre> |
| | | |
− | where patches of the OOo Buildbots can be found.
| + | == Testing the Prerequisites == |
| | | |
− | == Build using ooo-build on Ubuntu 5.10 Breezy ==
| + | First download the source code: |
− | | + | |
− | <font color="red">The instructions below are outdated and need a refresh!</font>
| + | |
− | | + | |
− | This tutorial will assume a stock [http://www.ubuntu.com/download Ubuntu] 5.10 (Breezy) system as a starting point.
| + | |
− | (See below for Hardy instructions.)
| + | |
− | | + | |
− | ===Obtaining ooo-build===
| + | |
− | One may obtain the stable 2.0.2 version of <code>ooo-build</code> via CVS with the following commands:
| + | |
| <pre> | | <pre> |
− | export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'
| + | svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo |
− | cvs login
| + | |
− | cvs -z3 checkout -P ooo-build
| + | |
− | cvs update -Pd -r ooo-build-2-0-2
| + | |
| </pre> | | </pre> |
− | You should then enter the <code>ooo-build</code> directory and run <code>./autogen.sh --with-distro=Ubuntu</code>. Most likely you'll also want to add the <code>--disable-kde</code> flag (unless you're using [http://www.kubuntu.org/ Kubuntu]).
| |
| | | |
− | ===Additional Required Packages===
| + | Then the configure step will help you to find out if all is there: |
− | Packages may be obtained as follows:
| + | |
− | | + | |
− | sudo apt-get install ''package_name [additional_package(s)]''
| + | |
− | | + | |
− | Alternatively, you may use the Synaptic Package Manager to install missing packages.
| + | |
− | | + | |
− | To obtain the source, you need:
| + | |
− | *cvs
| + | |
− | | + | |
− | To complete <code>autogen.sh</code>, you need:
| + | |
− | *automake1.9
| + | |
− | *build-essential
| + | |
− | *libpam0g-dev
| + | |
− | *libpng12-dev
| + | |
− | *flex
| + | |
− | *bison
| + | |
− | *libgtk2.0-dev
| + | |
− | | + | |
− | For <code>make</code> to finish its configuration stage, you need:
| + | |
− | *tcsh
| + | |
− | *libcupsys2-dev
| + | |
− | *java-gcj-compat-dev
| + | |
− | *libarchive-zip-perl
| + | |
− | *libjpeg62-dev
| + | |
− | *libxml2-dev
| + | |
− | *python-dev
| + | |
− | *libdb4.3-dev
| + | |
− | *libdb4.3-java-dev
| + | |
− | *libcurl3-dev (on 7.10/gutsy: libcurl4-gnutls-dev)
| + | |
− | *unixodbc-dev
| + | |
− | *libldap2-dev
| + | |
− | *mozilla-dev
| + | |
− | *libnss-dev
| + | |
− | *libsane-dev
| + | |
− | *libxaw-headers
| + | |
− | *libaudio-dev
| + | |
− | *libsndfile1-dev
| + | |
− | *libneon24-dev
| + | |
− | *libgnomevfs2-dev
| + | |
− | *kdebase-dev (KDE only?)
| + | |
− | *libstartup-notification0-dev
| + | |
− | *ant
| + | |
− | *libdbus-glib-1-dev (Ubuntu version is not high enough! 0.36.2 < 0.60)
| + | |
− | *firefox-dev (if --with-firefox used)
| + | |
− | *libxul-dev (if --with-firefox used)
| + | |
− | *libgstreamer0.10-dev
| + | |
− | *libgstreamer-plugins-base0.10-dev
| + | |
− | *gperf
| + | |
− | *libxslt1-dev
| + | |
− | | + | |
− | Far into the ''main build commencing'' section, you'll realize you need these:
| + | |
− | | + | |
− | *libbonobo2-dev
| + | |
− | *libxaw7-dev
| + | |
− | | + | |
− | ===Necessary ./configure Flags===
| + | |
− | *'''--disable-gtk''' — This has to be disabled, otherwise <code>make</code> will get hung up on the dbus-glib-1 version 0.60 requirement. The highest version of that package available for Ubuntu is 0.36.2.
| + | |
− | | + | |
− | ===Failed patches===
| + | |
− | [[Talk:Ubuntu_Build_Instructions#Failed_Patches|Some of the patches]] listed in <code>ooo-build/patches/src680/apply</code> may not apply successfully. You can try to comment them out in the <code>apply</code> file, but this is an experimental solution...
| + | |
− | | + | |
− | ===Tips===
| + | |
− | A shell script like the one below will alert your attention upon completion of the quite lengthy build process. Run it after <code>./download</code> completes in place of <code>make</code>.
| + | |
| <pre> | | <pre> |
− | #!/bin/bash
| + | cd aoo/main |
− | echo "Starting 'make' wrapper..."
| + | autoconf |
− | cd ~/ooo-build | + | ./configure --disable-mozilla --with-junit="/usr/share/java/junit4.jar" |
− | /usr/bin/time --quiet -f %E make
| + | |
− | echo "Compilation finished."
| + | |
− | mplayer -really-quiet ~/Music/My_Music_File.mp3
| + | |
− | </pre>
| + | |
− | | + | |
− | For the purpose of this tutorial, save the file as <code>make_wrapper.sh</code>. To make it executable, type <code>chmod 744 make_wrapper.sh</code>.
| + | |
− | | + | |
− | ===Development Environment Preparation Script===
| + | |
− | '''Note:''' User interaction is required first to enter a password for apt-get, and again much later to hit Enter when prompted for a CVS password.
| + | |
− | <pre>
| + | |
− | #!/bin/bash
| + | |
− | echo "Starting Ubuntu ooo-build preparations..."
| + | |
− | | + | |
− | sudo apt-get -y install cvs automake1.9 build-essential libpam0g-dev libpng12-dev flex bison libgtk2.0-dev \
| + | |
− | tcsh libcupsys2-dev java-gcj-compat-dev libarchive-zip-perl libjpeg62-dev libxml2-dev python-dev libdb4.3-dev \
| + | |
− | libdb4.3-java-dev libcurl3-dev unixodbc-dev libldap2-dev mozilla-dev libnss-dev libsane-dev libxaw-headers \
| + | |
− | libaudio-dev libsndfile1-dev libneon24-dev libgnomevfs2-dev libstartup-notification0-dev ant
| + | |
− | | + | |
− | export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'
| + | |
− | cvs login
| + | |
− | cvs -z3 co -P ooo-build
| + | |
− | cvs up -Pd -r ooo-build-2-0-2
| + | |
− | | + | |
− | echo "Preparations complete."
| + | |
− | | + | |
− | cd ~/ooo-build
| + | |
− | ./autogen.sh --with-distro=Ubuntu --disable-kde
| + | |
− | ./download
| + | |
− | | + | |
− | #Now comment out failing patch:
| + | |
− | cp patches/src680/apply patches/src680/apply~
| + | |
− | sed 's/^ubuntu-dictionary\.diff/#&/' <patches/src680/apply~ >patches/src680/apply
| + | |
− | rm patches/src680/apply~
| + | |
− | | + | |
− | make
| + | |
− | #Or if you want an audible alert,
| + | |
− | #~/make_wrapper.sh
| + | |
| </pre> | | </pre> |
| | | |
| + | For other options regarding mozilla code please see [[Documentation/Building_Guide/Building_on_Linux#create_prebuilt_mozilla|here]]. |
| | | |
− | ==See also== | + | == Building Apache OpenOffice == |
− | *[[Building]]
| + | |
− | *[[Debug Build Problems]]
| + | |
− | *[http://www.go-oo.org OpenOffice.org Hackers Pages]
| + | |
| | | |
| + | Now that the Ubuntu specific prerequisites are met please follow the general '''[[Documentation/Building_Guide_AOO|Building Guide]]''' to continue. |
| + | You might find the page [[Debug Build Problems]] interesting too. |
| | | |
| [[Category: Distribution-Specific Build Instructions]] | | [[Category: Distribution-Specific Build Instructions]] |
To get and build Apache OpenOffice you need some packages. You can get them with:
If you want to use the system provided libraries instead of building them for yourself you should get their development packages by running:
For Ubuntu 9.10 ("Karmic Koala") and 10.04 ("Lucid Lynx") you must activate the "ubuntu lucid partner" archive in the software sources and run