Building OOo
Hello, I've written something that I name
Building OpenOffice For Debian mini-HOWTO
-----------------------------------------
(C) Peter 'Nidd' Novodvorsky
Probably it will work on any other modern distribution, but I tried
only Debian.
System requires: Good processor, 128 Mb (256MB better),
2,5 Gb hard disk space.
Needed software and files:
- OpenOffice 638C from CVS (I didn't try 640).
- STLPort _4.0_ You won't build it with debian's 4.1
package. You can get package diff from here
http://people.altlinux.ru/nidd/stlport4.0_4.0-0.1.diff.gz
and stlport4.0 from stlport.com, and then build package
yourself (Currently I don't have enough connection
to put binaries)
- gcc 2.95.x.
- Java JDK 1.3.1. You can get it from blackdown.org:
deb ftp://metalab.unc.edu/pub/linux/devel/lang/java/blackdown.org/debian woody non-free
This JDK package is extremly bad (it puts everything in /usr/java).
If you want, you can make FHS-compilant package with JDK1.3.1,
But you'll need to emulate java home, like we will do with
STLPort (see below).
- Sources for libgpcl0. (apt-get --tar-only source libgpcl0)
- little patch:
http://people.altlinux.ru/nidd/openoffice-mozsrc.patch
Building
--------
Get OpenOffice from OO's cvs:
CVSROOT=:pserver:anoncvs@anoncvs.openoffice.org:/cvs
Password: anoncvs
Module: OpenOffice
Tag: OO638C
Build and install STLPort 4.0, then install JDK.
Copy gpc.{c,h} files from libgpcl distribution to
$OPENOFFICE_SOURCE_ROOT/external/gpc. Apply patch to the source tree
(with -p0 when PWD=$OPENOFFICE_SOURCE_ROOT). Make a temporary directory,
for example /tmp/stlport4. Make symlinks there:
lrwxrwxrwx 1 nidd nidd 12 Sep 23 16:40 include -> /usr/include
lrwxrwxrwx 1 nidd nidd 8 Sep 23 16:07 lib -> /usr/lib
Now you are ready to build openoffice.
pushd $OPENOFFICE_SOURCE_ROOT/config_office
./configure --with-stlport4-home=/tmp/stlport4 --with-jdk-home=/usr/java/jdk1.3.1/
cd ..
csh -c 'source LinuxIntelEnv.Set; ./bootstrap; dmake'
# dmake ends with error but it's ok
cp /tmp/stlport4/libstlport_gcc.so $OPENOFFICE_SOURCE_ROOT/solver/638/unxlngi3.pro/lib
csh -c 'source LinuxIntelEnv.Set; cd instsetoo; build'
popd
Now you have english oo distribution in
$OPENOFFICE_SOURCE_ROOT/instsetoo/unxlngi3.pro/01
german in
$OPENOFFICE_SOURCE_ROOT/instsetoo/unxlngi3.pro/49
english impression player in
$OPENOFFICE_SOURCE_ROOT/instsetoo/unxlngi3.pro/player/01
german in
$OPENOFFICE_SOURCE_ROOT/instsetoo/unxlngi3.pro/player/49
If you want to build customized version of OpenOffice for your
language, remove unset RES_$LANG in the end of LinuxIntelEnv.Set
and put setenv RES_$LANG=TRUE there. Then rebuild openoffice (you
don't need to remove all the source tree or even make clean).
TO DO List
----------
1). Understand setup2's install response mode, so we could install openoffice
un-interactively and we could build packages. Still we need $DISPLAY for
setup2 and bmp utility. Needed skills: Good C++ reader.
2). Hack bmpmaker (tools/bmpmaker) to remove it's $DISPLAY dependancy.
I did some exploration here. You will need to build vcl project with
-DREMOTE_APPSERVER, which is done by ``dmake remote=true''. Needed
skills: make/dmake, C++ writer.
3). Hack setup2, kill it's ui and remove it's dependancy on $DISPLAY.
Needed skills: Goog C++ writer, you'll need to understand all OpenOffice
infrastructure.
After 3), we will have working Debian packages, that will be autobuildable
by autobuilders without $DISPLAY (no, Branden, there is no $DISPLAY
on every screen).
Documentation
-------------
All documentation can be found on www.openoffice.org. I've gathered some
documents and made a tarball. It will be on
http://people.altlinux.ru/nidd/oo_docs.tar.gz
as soon as it will be uploaded.
Programmers, I suggest you to go to api.openoffice.org directly. There
is good documentation in tarballs already, you won't have to and open
link by link to find html-docs.
Currently I am making hyphenation engine for OpenOffice and building it
for Debian is my next step. So tasks of Todo are free and are waiting
for their solvers.
Good night.
And sorry for bad english,
I hope content compensates it.
--
Peter Novodvorsky http://www.altlinux.ru/ AltLinux Team, Russia
Debian.Org http://debian.org/~nidd
Debian --- no need to wait for tomorrow.
Reply to: