Difference between revisions of "Ubuntu Build Instructions"
Line 5: | Line 5: | ||
apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev libpam0g-dev subversion \ | 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 \ | sun-java6-jdk gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev libxrandr-dev patch \ | ||
− | libgconf2-dev libgnomevfs2-dev ant | + | libgconf2-dev libgnomevfs2-dev ant python-dev |
</pre> | </pre> | ||
Revision as of 10:30, 21 November 2008
Ubuntu 8.10 Intrepid
You probably need the following packages:
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
Ubuntu 8.04 (LTS) Hardy
For Hardy, the list of recommended packages is different. Here's the command that got one first-timer through the many configure errors:
aptitude install \ ant ant-optional automake1.9 bison build-essential cvs \ flex gcj gperf java-gcj-compat-dev kdebase-dev \ 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
First trial
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:
./configure
Configure without any parameters gives you some errors probably. You can disable some parts, e.g. --disable-mozilla. If configure requests for a file you can use the Ubuntu package content search to get to know which package provides such file.
With Mozilla
The commandline to configure is also a bit different, e.g.
./configure --with-distro=UbuntuHardy --with-system-mozilla=xulrunner
The --with-system-mozilla=xulrunner option seems to fix the configure error
checking for libxul-xpcom ... Package libxul-xpcom was not found in the pkg-config search path.
This may be related to https://bugs.launchpad.net/ubuntu/hardy/+source/openoffice.org-l10n/+bug/194551
Patches
Recent developer builds may need additional patches to build properly. You should have a look at the Subversion repository at
svn://svn.services.openoffice.org/ooo/patches/buildbot
where patches of the OOo Buildbots can be found.
Build using ooo-build on Ubuntu 5.10 Breezy
The instructions below are outdated and need a refresh!
This tutorial will assume a stock 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 ooo-build
via CVS with the following commands:
export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome' cvs login cvs -z3 checkout -P ooo-build cvs update -Pd -r ooo-build-2-0-2
You should then enter the ooo-build
directory and run ./autogen.sh --with-distro=Ubuntu
. Most likely you'll also want to add the --disable-kde
flag (unless you're using Kubuntu).
Additional Required Packages
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 autogen.sh
, you need:
- automake1.9
- build-essential
- libpam0g-dev
- libpng12-dev
- flex
- bison
- libgtk2.0-dev
For make
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
make
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
Some of the patches listed in ooo-build/patches/src680/apply
may not apply successfully. You can try to comment them out in the apply
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 ./download
completes in place of make
.
#!/bin/bash echo "Starting 'make' wrapper..." cd ~/ooo-build /usr/bin/time --quiet -f %E make echo "Compilation finished." mplayer -really-quiet ~/Music/My_Music_File.mp3
For the purpose of this tutorial, save the file as make_wrapper.sh
. To make it executable, type chmod 744 make_wrapper.sh
.
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.
#!/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