NeoOffice Build Instructions

From NeoWiki

Revision as of 11:40, 11 July 2006 by Sardisson (Talk | contribs)
Jump to: navigation, search

N.B. If you redistribute your personal builds, you must remove all instances of the NeoOffice trademark in order to be in compliance with the NeoOffice Distribution & Trademark Usage Policy.

Contents

Building and Developing NeoOffice

Supplemental information about building NeoOffice and the NeoOffice development process

Build Instructions

Patrick Luby maintains the NeoOffice build instructions at http://www.planamesa.com/neojava/build.php.

Because building NeoOffice requires building OpenOffice.org/X11, you might find the OpenOffice.org 2.0.x for Mac OS X build instructions helpful. The latest NeoOffice 2.0 build configuration information can be found by selecting the "download" link for the most current revision of neojava/README.txt in cvsweb.

Prerequisites

See the official build instructions and, for NeoOffice 2.0 builds, the latest neojava/README.txt file in cvsweb.

Note that while the minimum disk space requirements are 5.5 GB, for a full NeoOffice 2.0 build with all languages, you will need about 14 GB of disk space available (more for temp files).

Getting Help

Archives of the mac@porting.openoffice.org mailing list are useful; you can search them for errors you encounter.

You can also post questions in the NeoOffice Development forum on trinity (and search it for errors), but be aware that the NeoOffice developers consider the process of compiling OpenOffice.org (even as a subset of NeoOffice) as a "trial by fire" and little hand-holding is available.

Experience has shown that those who are unable to work through the OpenOffice.org build will be unable to do the debugging and other work necessary when fixing an existing bug in OpenOffice.org or NeoOffice or adding new code/features. (Such "hand-holding" also cuts into the limited time the volunteer developers have to fix actual bugs and improve Mac OS X integration.)

Building OpenOffice.org on the Mac (and by extension NeoOffice) is often difficult because there is always some change to the code for Linux or Windows that makes OOo no longer buildable on Mac OS X. Sun's engineers do not build on Mac OS X so changes for Windows or Linux can easily break the build on Mac OS X and go undetected. Also, Sun routinely does not merge Mac OS X fixes into the next build. A patch may be integrated in the OOo 1.1.3 code but then not merged into the OOo 1.1.4 code, and fixes from the OOo 1.1.x codeline will not appear in the OOo 2.x codeline.

Source Code

NeoOffice source code is available as a tarball on the latest release or milestone disk image. The very latest code is always available in cvs (anoncvs syncs with the secure master repository twice daily, at 3 AM and 3 PM Pacific [PST/PDT] time).

You can also browse the NeoOffice source online.

CVS tags

for use in the cvs checkout commands in the NeoOffice Build Instructions; in the format tag modulename

A "release" tag checks out the code of a full release or milestone version (e.g., NeoOffice 1.2 Alpha) as available on planamesa.com but does not include any subsequent patches or bugfixes. A "stable branch" tag will check out the latest code for an active branch, including any code delivered in any released patches and any code recently committed to fix bugs (a "stable branch" that is current may have future milestones or releases based on it, e.g. the 1.2 Branch will be the basis of NeoOffice 1.2 Beta and NeoOffice 1.2 "final", and perhaps even a "point" release like NeoOffice 1.2.1, at some point). A "development" tag is the site of ongoing future development and may not even build yet. You can find additional "legacy" tags by browsing cvsweb.

Current

Release (NeoOffice 2.0 Alpha 4): NeoOffice-2_0_Alpha_4 NeoOffice

Stable Branch (2.0 Alpha 4 Branch): NeoOffice-2_0_Alpha_4_branch NeoOffice

Development (ongoing Aqua widgets efforts): HEAD NeoOffice

N.B. The Aqua widgets are not built by default

Legacy

Release (NeoOffice 1.2.2): NeoOffice-1_2_2

Stable Branch (1.2 Branch): NeoOffice-1_2_branch NeoOffice

Development (none currently):

Warning! (click icon for its license info) Please note the installer packages for NeoOffice/J 1.1, all older versions of NeoOffice/J, and NeoOffice 1.2.1 and below are subject to a rare but serious bug in the Mac OS X Installer on certain versions of Mac OS X. It is recommened that you do not use (or attempt to install) these versions of NeoOffice or NeoOffice/J, and they should not be distributed. See this page for more information.

Build Matrix

Build Host
Neo Version
10.3.9 10.4.x PPC 10.4.x Intel
NeoOffice 1.2.x gcc 3.3
Xcode 1.5
official builds
gcc 4.0.1
Xcode 2.2.1
Will not build
NeoOffice 2.0 gcc 3.3
Xcode 1.5
official builds
gcc 4.0.1
Xcode 2.2.1
gcc 4.0.1
Xcode 2.2.1
official builds

Forum Threads

The following threads or posts from trinity may contain useful tips for beginners wishing to build NeoOffice:

Along those lines, the NeoOffice developers also build the OpenOffice.org dependencies themselves rather than relying on Fink or DarwinPorts.
N.B. the above threads apply to the NeoOffice/J 1.1 release; the build requirements have changed slightly beginning with NeoOffice 1.2 Alpha.
These changes have all been committed to HEAD and the NeoOffice 1.2 Alpha codebase, but there are some helpful tips about the NeoOffice build system and cvs in the later pages of the thread.

Development Plans

For reference, the current (late 2005-2006) development plans are roughly outlined in this thread.

You can also check the bugs marked New/Deferred in Bugzilla to see specific items the developers plan on implementing as time and resources permit.

Ed Peterlin also maintains a set of specifications for adding Mac-specific features (or, things he'd like to add, if he ever gets time after adding Aqua widgets!).

Other Tasks

Help is always welcome in debugging and fixing existing bugs; check the Unconfirmed and Reopened bugs (the Assigned ones are generally being worked upon by the developer in question). For more information about working in the NeoOffice Bugzilla, see the Life-cycle of a Bug section of the Bugzilla Guide.

Legacy Builds

If you want to build NeoOffice 1.2.x, the following information may be helpful:

N.B. Distribution of non-current versions NeoOffice is prohibited by the NeoOffice CD Distribution & Trademark Usage Policy if the software is branded as “NeoOffice”.

Personal tools