The Free and Open Productivity Suite
Follow us on Twitter: @ApacheOO

Build FAQ for OpenOffice.org

Date: 09 April 2003 FAQ
These faq have been compiled over the span of OpenOffice's lifetime. Most of the information is now out of date. See the OpenOffice FAQ page on our official wiki for up-to-date information. If you find instances that need updating, let us know by sending a note to dev@openoffice.apache.org.

Table of contents

FAQ

What source code will be available at www.OpenOffice.org?

The source code for OpenOffice.org will be nearly all the source code in development for StarOffice. The source code not available for OpenOffice.org is source code or binaries which have been licensed to Sun Microsystems from external parties which Sun Microsystems is not entitled to distribute.  Any code which cannot be distributed has been identified and removed. In order that OpenOffice.org builds, instructions will be available to source external code or the code will be stubbed. OpenOffice.org could benefit from work in this area.

Developers working on StarOffice will continue to commit changes to the same CVS tree as accessible at www.OpenOffice.org.

What platforms has OpenOffice been built on?

OpenOffice.org has been built on Linux (RedHat 8) , Solaris (Sparc 2.6-2.9) and WindowsNT.
A port for the Mac OS X is currently in development and on going work is available in the CVS tree.
For OS/2, HP/UX and other platforms previously supported, the source is available but has not been built.

How does OpenOffice.org build?

Sun Microsystems has made changes to the build environment to make it possible to build OpenOffice.org outside the highly customized and optimized environment that is used by the development team. Where possible, OpenOffice.org uses open source build tools but there may be scope to use more. Source code is available for all build tools.

Although work has been done to make the build experience as close as possible to the open source norm, the complexity and size of the application means that the build experience is different to the open source norm. For more details please see http://tools.openoffice.org#Build


How much hard drive space needed for a full build of OpenOffice including source?

The current recommendation is 3GB.

The source code is ~400MB

The build requires about 3GB in total including source.

The creation of an installation set requires ~300MB.

Adding symbols to the build will add a further 5 gig approximately to the build size. Developers typically only build specific directories with full debugging for this reason using `build debug=true`

How long does an OpenOffice.org build take?

Our current experience is that a full build of OpenOffice.org is approximately 20 hours on a single CPU Pentium III with 256MB of RAM running Linux.

Using CC="ccache gcc" CXX="ccache g++" has a complete build cycle about 4 hours on a 1.8Ghz Pentium.

How do developers work with StarOffice?

Release Engineering in Sun do a full build of StarOffice once a week, in an optimised environment. On successful completion of the full build, the latest solver is made available to all developers. Developers build their CVS module(s) against the current solver. After code changes, developers build the CVS module(s) and "deliver" the shared headers, shared libraries and binaries to their copy of the current solver for testing.

Incompatible changes are allowed between full builds. So that incompatible work is not mixed, the name of each shared library/DLL includes the build number, which is incremented by one each week.

In order to assist the OpenOffice.org community, Sun plan to provide a similar environment because the code base is so large and current developers use this. Sun intend to provide one tarball of solver for each of a number of platforms on a regular basis on www.OpenOffice.org. These will be known as milestones.

Therefore the proposed process for development will be :
1. Developer downloads milestone solver tarball for given platform
2. CVS checkout of the relevant project for the same milestone
3. Change code
4. Build. (This will build against the contents of solver and, on successful completion, deliver the results to solver.)
5. Test the new version.
6. Submit patch

OpenOffice.org has a large code base. CVS is used as a synchronisation mechanism between development teams. API changes in low level CVS modules are checked in to give higher level modules a chance to reflect these. Between (incompatible) milestone builds it's a common circumstance that API changes have started in low level modules and not all modules using these APIs have been changed already. Therefore, the build using the head revision build may not always be successful.

A new methodology is being introduced now. Head may be a buildable master workspace shortly.

How many projects are there?

Approximately 20 projects will be created for OpenOffice.org. These projects are an attempt to facilitate community communication. Examples of projects include XML Office, Porting, Localization, Applications, and Build Tools.

How much source code is there?

OpenOffice.org source will have approx. 30,000 source files.

OpenOffice.org will have approx.  9,000,000 lines of code. The majority of the code is C++.

What is missing from the release(and why)?

The source of some external StarOffice components, licensed to StarOffice, will not available with the OpenOffice.org source code. These components include:
* L&H International CorrectSpell, Intl. Electronic Thesaurus - spell checking, international dictionaries & thesaurus
* Inso Word for Word - document filters for document formats other than MS Office
* Adabas D - database engine

Instructions will be available to download external source code which cannot be distributed on www.OpenOffice.org

The GPC code is a special case and must be obtained separately by the OOo developer. See the build guides.

Can someone explain what are these child workspaces are?

The main points are:
  • only fully tested code gets into the main cvs branch -> less regressions.
  • all snapshots from the milestone are close to production quality.
  • contribution get into the development tree faster (because review and tests can be made directly on the cvs tree).
More information are available on http://tools.openoffice.org

Where do I go to get help?

Firstly you might want to look through the dev@openoffice.apache.org mailing archives for similar problems.

Secondly you might want to post a message there outlining your problem. If you have a more specific question then you will be directed to another mailing list specific to your question, like dev@sw.openoffice.org for word processing questions

For a quick question or a chat then you might like to talk on IRC to other developers. IRC is not only for developers however quite a few are there a lot and can help out with quick questions and good advice.

  • server: irc.freenode.net
  • channel: #OpenOffice.org
  • A quick IRC HOWTO:

    first, grab yourself a client:

    For windows, you can use mIRC - http://www.mirc.com

    For *nix - there are lots, but others recommend kvirc http://www.kvirc.net

    then, once your client is up, you can type in the commandbar:

    /SERVER irc.openprojects.net and after you are logged in, you can type:


    /JOIN #OpenOffice.org

What else should I be aware of?

Most comments are in German and some are in English. In the future all new comments will be in English.

There will be a number prerequisites required to download and build OpenOffice.org. Please see http://tools.openoffice.org#Build for a full list.

 
 

Any known bugs?

We have a few build problems

  • Bison 1.875 - This release has a problem, try to upgrade to bison 1.875a.
  • Xwindows 4.3 - I know one person that had problems, I don't know how 'solved' the problems were. Let us know!
  • undefined symbol: _Z16XineramaIsActiveP9_XDisplay
    This is a problem with your headers, add 'extern "C" {' and '}' around '#include <X11/extensions/Xinerama.h>, and then build through libvcl644li.so.

Apache Software Foundation

Copyright & License | Privacy | Website Feedback | Contact Us | Donate | Thanks

Apache, the Apache feather logo, and OpenOffice are trademarks of The Apache Software Foundation. OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.