Difference between revisions of "Building OpenOffice.org"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (moved deps and parallel builds to Build Guide)
m (moved prebuild mozilla to the Build Guide)
Line 3: Line 3:
 
{{Template:Documentation/Caution| This page is moved into the [[Development/OpenOffice.org Building Guide|Building Guide]] please make sure to add new information there and make this page a redirect if it only contains duplicate information.}}
 
{{Template:Documentation/Caution| This page is moved into the [[Development/OpenOffice.org Building Guide|Building Guide]] please make sure to add new information there and make this page a redirect if it only contains duplicate information.}}
  
== Prerequisites, Dependencies, Different Platforms And Building a Milestone ==
+
== Prerequisites, Dependencies, Different Platforms, Building a Milestone ==
 
see [[Development/OpenOffice.org Building Guide|Building Guide]]
 
see [[Development/OpenOffice.org Building Guide|Building Guide]]
 
== Hints ==
 
== Hints ==
Line 55: Line 55:
 
Here are some tips that make your life easier or can accelerate the build
 
Here are some tips that make your life easier or can accelerate the build
  
== ccache, deps and parallel builds ==
+
== ccache, deps, parallel builds and prebuilt mozilla ==
 
see [[Development/OpenOffice.org Building Guide| Building Guide]]
 
see [[Development/OpenOffice.org Building Guide| Building Guide]]
 
== create prebuilt mozilla and use that instead of recompiling everytime ==
 
For the mozilla-components you have the choice to either build from mozilla sources, to use precompiled packages ([http://tools.openoffice.org/moz_prebuild/680/ the "official" ones can be obtained from tools.openoffice.org]) or to use system-mozilla (the one installed on your buildsystem, not everything might work, depending on the version you got installed)
 
You can easily create your own version of the prepacked binaries if you wish to do so (either because you cannot use the official ones because of mismatch of compiler version used to build them/other technical reasons or because you want to use stuff you didn't build yourself).
 
To do so:
 
 
* build the <code>moz</code> module from the mozilla sources<br/>(use <code>--enable-build-mozilla</code> when running configure and put the mozilla-source tarball to <code>moz/download</code>)
 
* in <code>moz</code> run <code>dmake zip</code> to create the zip files
 
* you'll find the zips in <code>{unxlngi#,wntmsci#}.pro/zipped</code>
 
 
Copy them to a location of your liking.
 
Now instead of using <code>--enable-build-mozilla</code>, use <code>--disable-build-mozilla</code> and copy the zips you created or downloaded to <code>moz/zipped</code> and these will be used when compiling.
 
This will greatly reduce build-time (you save the time that would otherwise be spent on compiling mozilla)
 
  
 
== saving disk space by linking to the solver only ==
 
== saving disk space by linking to the solver only ==

Revision as of 11:02, 19 July 2009

Documentation caution.png This page is moved into the Building Guide please make sure to add new information there and make this page a redirect if it only contains duplicate information.

Prerequisites, Dependencies, Different Platforms, Building a Milestone

see Building Guide

Hints

dmake first checks for depencies of the modules. If you have a fresh checkout you could get some errors:

Fetching dependencies for module swext from solver... failed...
Fetching from CVS...  failed

 WARNING! Project(s):
 swext
 
 not found and couldn't be built. Dependencies on that module(s)
 ignored. Maybe you should correct build 
 dmake:  Error code 1, while making 'check_modules'

You have to checkout the module swext by i.e.:
cvs co -r DEV300_m2 swext
(for DEV300_m22)
There are also failing depencies for modules apache-commons and tomcat. Check them out in the same way as swext above.
If you get the following error or something similar:

ERROR: /usr/lib/libcairo.so.2: undefined symbol: FT_Library_SetLcdFilter<br />
dmake:  Error code 1, while making '../unxlngi6.pro/lib/libeggtrayli.so'

your version of libcairo is too old. To solve this error install a newer version (i.e. libcairo.so.2.11.7). When building with cairo, you almost certainly need to specify --with-sytem-freetype, since the one that is in OOo's sources just is too old.
Actually, there is an error about ant, if you build swext/mediawiki:

BUILD FAILED
swext/mediawiki/build.xml:126: No supported regular expression matcher found: java.lang.ClassNotFoundException: org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher

This error could be solved on Linux by installing a package called ant-optional or similar. There are some additional files for ant missing.

If you got an error like this

ERROR: Error 65280 occurred while making /work/ooovanillabuild/ucb/source/ucp/gvfs

look inside the output in your shell if there are something wrong with your glib-devel version. If you see inside the messages in the shell something like this:


/usr/include/glib-1.2/glib.h:2725:1: warning: this is the location of the previous definition
(...)
/usr/include/glib-2.0/glib/gthread.h:352:1: warning: "G_LOCK_NAME" redefined

you have to unistall one of the glib-devel version; mostly glib-devel version 1.

Tips and Tricks

Here are some tips that make your life easier or can accelerate the build

ccache, deps, parallel builds and prebuilt mozilla

see Building Guide

saving disk space by linking to the solver only

Use "--dlv_switch -link" when running build to tell deliver to only link the files instead of copying them:

build --dlv_switch -link

fixing epm 4 product name error

If you get "epm: Product names can only contain letters and numbers!" error, you must patch epm and comment out name check:

 /*
  * for (i = 0; prodname[i]; i ++)
  *   if (!isalnum(prodname[i] & 255))
  *   {
  *     puts("epm: Product names can only contain letters and numbers!");
  *     usage();
  *   }
 */
Personal tools