Difference between revisions of "Building OpenOffice.org"

From Apache OpenOffice Wiki
Redirect page
Jump to: navigation, search
m (moved deps and parallel builds to Build Guide)
m (Robot: Fixing double redirect to Documentation/Building Guide)
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:Development]]
+
#REDIRECT [[Documentation/Building Guide]]
[[Category:Build_System]]
+
{{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 ==
+
see [[Development/OpenOffice.org Building Guide|Building Guide]]
+
== Hints ==
+
dmake first checks for depencies of the modules. If you have a fresh checkout you could get some errors:
+
<pre>
+
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'
+
</pre>
+
You have to checkout the module swext by i.e.:<br />
+
cvs co -r DEV300_m2 swext<br />
+
(for DEV300_m22)<br />
+
There are also failing depencies for modules apache-commons and tomcat. Check them out in the same way as swext above.<br />
+
If you get the following error or something similar:
+
<pre>
+
ERROR: /usr/lib/libcairo.so.2: undefined symbol: FT_Library_SetLcdFilter<br />
+
dmake:  Error code 1, while making '../unxlngi6.pro/lib/libeggtrayli.so'
+
</pre>
+
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.<br />
+
Actually, there is an error about ant, if you build swext/mediawiki:
+
<pre>
+
BUILD FAILED
+
swext/mediawiki/build.xml:126: No supported regular expression matcher found: java.lang.ClassNotFoundException: org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher
+
</pre>
+
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
+
<pre>
+
ERROR: Error 65280 occurred while making /work/ooovanillabuild/ucb/source/ucp/gvfs
+
</pre>
+
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:
+
<pre>
+
 
+
/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
+
</pre>
+
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 and parallel builds ==
+
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 ==
+
Use  "--dlv_switch -link" when running build to tell deliver to only link the files instead of copying them:
+
<pre>
+
build --dlv_switch -link
+
</pre>
+
 
+
== 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:
+
<pre>
+
/*
+
  * for (i = 0; prodname[i]; i ++)
+
  *  if (!isalnum(prodname[i] & 255))
+
  *  {
+
  *    puts("epm: Product names can only contain letters and numbers!");
+
  *    usage();
+
  *  }
+
*/
+
</pre>
+

Revision as of 13:32, 30 November 2009

Personal tools