[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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
          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:


Get OpenOffice from OO's 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'

Now you have english oo distribution in
german in
english impression player  in
german in

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

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).


All documentation can  be found on www.openoffice.org. I've  gathered some
documents and  made a  tarball. It will be on
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: