EnvironmentSetup/DebianIntel
From Wiki.ooo4kids.org
DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT - DRAFT -
This
Contents |
Prerequisites
File Systems
Here are some filesystem listed by compatibility:
- Compatible for build: Ext3, Ext4, ReiserFS.
- Might run into some problems: NTFS, UFS.
- Not Compatible for build: Vfat.
Packages
You will need at least followings packages : libarchive-zip-perl, gcc, g++, libpam-dev, gperf, python-dev, curl, libcurl4-gnutls-dev , libxaw7-dev, libxrandr-dev, bison, flex, libgconf2-dev, libgtk2.0-dev, libcupsys2-dev, libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, libcups2-dev, libxslt1-dev, zip
To install it:
sudo apt-get install libarchive-zip-perl sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install libpam-dev sudo apt-get install gperf sudo apt-get install python-dev sudo apt-get install curl sudo apt-get install libcurl4-gnutls-dev sudo apt-get install libxaw7-dev sudo apt-get install libxrandr-dev sudo apt-get install bison sudo apt-get install flex sudo apt-get install libgconf2-dev sudo apt-get install libgtk2.0-dev sudo apt-get install libcupsys2-dev sudo apt-get install libgstreamer0.10-dev sudo apt-get install libgstreamer-plugins-base0.10-dev sudo apt-get install libcups2-dev sudo apt-get install libxslt1-dev sudo apt-get install zip
Tools
ccache
If you intend to build the project several times, you probably can benefit of ccache since it will speed up your future builds. The first time you make a build with ccache you won't notice it, but the next time the build will go up to five times faster.
To install it:
sudo apt-get install ccache
There are two ways to enable ccache - one is to set environment variables, the other way is to use symlinks.
- Using environment variables:
export CC="ccache gcc" export CXX="ccache g++"
- Using the symlink approach:
# create a directory for the links mkdir ~/bin # create the symlinks pointing to ccache with the name of the compiler ln -s /path/to/ccache ~/bin/gcc ln -s /path/to/ccache ~/bin/g++ ln -s /path/to/ccache ~/bin/cc ln -s /path/to/ccache ~/bin/c++ # now all you need to enable ccache is to prepend ~/bin to your PATH $ export PATH=~/bin:$PATH
for both methods, you can add the "export ..." lines to your ~/.profile - that way you don't need to manually set it when building. You can still temporarily disable ccache (export CCACHE_DISABLE=1) in case you don't want to use it.
Since OOo is rather huge, you should increase the cache-size to 1 GB or more
ccache -M 1G
Subversion
Since OOo's source code is managed using Subversion currently, you also need the svn client to checkout sources (otherwise you would be bount to source-tarballs that aren't generated that frequently). You can either compile yourself or use the subversion universal binaries from the subversion project Version 1.5.4 or later is required because of important fixes related to the merge-feature.
To install it:
sudo apt-get install subversion
Checkout the source code
The goal of this step is to get the source code for OpenOffice 3.0 milestone 47. The total size is 4,4 Go. This can take a lot of time depending of your bandwidth connection. (i.e.: With my 1MO DSL it take me more than 4 hours)
The command to use is :
svn checkout -r1206 svn://svn.adullact.net/svnroot/ooo4kids1/trunk my_OOo4Kids
Build
Launch the configure
The configure command line is:
./configure --with-lang="ar de es fi fr it nb nl pl ru sl uk zh-CN zh-TW" \
--with-system-python \
--with-system-libxml \
--disable-gnome-vfs \
--with-OOo4Kids \
--disable-gtk \
The bootstrap
The bootstrap mean the compilation of dmake
Just type the following command in /path/to/my_OOo4Kids
./bootstrap
Build
cd instsetoo_native
If your machine is 1GHz / 1GB or RAM :
build --all -P3
and go buy coffee, beer .. and come back ~ 10 hours later
And if you are the lucky owner of an i7 920 + 6GB of RAM + SSH hard disk ;-) prefer :
build --all -P6 -- -P6 -- -P6 -- -P6
(for me, the build took 50 minutes with cold ccache, 28 minutes with hot ccache, both for 8 locales)
Now you know, and it is up to you to imagine the right value if your machine is between both machines above ;-)