<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pescetti</id>
	<title>Apache OpenOffice Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openoffice.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pescetti"/>
	<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/wiki/Special:Contributions/Pescetti"/>
	<updated>2026-05-20T18:48:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=256628</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=256628"/>
		<updated>2022-12-31T16:18:16Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Add link to Source code directories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:The Apache OpenOffice Wiki}}&lt;br /&gt;
&amp;lt;!-- {{Documentation/Note|If you need to put a note on the home page, uncomment this.}} --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This wiki is for all projects associated with Apache OpenOffice. It has a good focus on resources for developers. Also other projects work more and more on the wiki. Most are listed here.&amp;lt;br &amp;gt;&lt;br /&gt;
Questions about the contents of this wiki are welcome here, but requests for user support will get better responses elsewhere: on the users mailing lists, or in the [http://forum.openoffice.org/ User Forum].&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;border: 0px solid rgb(102, 102, 102);&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Participation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
*[[Communication]] &lt;br /&gt;
*[http://qa.openoffice.org/issue_handling/pre_submission.html Report a Bug]&lt;br /&gt;
*[[Development|Getting started with Apache OpenOffice Development]] and [[Documentation/Building_Guide_AOO|Building guide]]&lt;br /&gt;
*[http://openoffice.apache.org/orientation/ Orientation] for new volunteers in any fields&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Get latest released software&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*For the most current release and all language packs see the [http://download.openoffice.org Download website] &lt;br /&gt;
*Older released versions in the [https://www.openoffice.org/download/archive.html archive] &lt;br /&gt;
*Latest [https://cwiki.apache.org/confluence/display/OOOUSERS/Development+Snapshot+Builds Developer Snapshot Builds] &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Index&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[:Category:MainIndex|Main Index of Articles]] &lt;br /&gt;
* [[Wiki/statistics|Statistics of activity on the wiki]]&lt;br /&gt;
* [https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance IP Clearance] to Apache compliant licenses&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Documentation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* For Users:&lt;br /&gt;
** [[Documentation|User Guides, FAQs, and HowTos]]&lt;br /&gt;
** [http://support.openoffice.org/ Support]&lt;br /&gt;
* For Advanced Users:&lt;br /&gt;
** [[Documentation/Administration_Guide|Administration Guide]]&lt;br /&gt;
** [[Documentation/BASIC_Guide|BASIC Guide]]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
* For Developers&lt;br /&gt;
** [https://www.openoffice.org/marketing/ooocon2006/presentations/tuesday_d2.pdf OpenOffice Architecture: Run Through the Jungle]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
** [https://wiki.openoffice.org/wiki/Extensions_development Extensions Development]&lt;br /&gt;
** [[Documentation/Building_Guide_AOO| Building Guide]]&lt;br /&gt;
** [[QA/test_automation_guide| Test Automation]]&lt;br /&gt;
** [[:Category:Build System|Build System]]&lt;br /&gt;
** [[Architecture]] - Description of AOO&amp;#039;s software architecture.&lt;br /&gt;
** [[Source_code_directories|Source code directories]]&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 1px solid rgb(207, 207, 191); padding: 0em 0.25em; background-color: rgb(240, 240, 255); text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | You loaded this Main Page on {{CURRENTDAYNAME}}, {{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} &amp;#039;&amp;#039;T&amp;#039;&amp;#039; {{CURRENTTIME}} &amp;#039;&amp;#039;&amp;#039;[[wikipedia:UTC|UTC]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
{{InterWiki Languages}}&lt;br /&gt;
[[Category:MainIndex]][[Category:Outdated]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245799</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245799"/>
		<updated>2020-10-18T07:07:43Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Build and Packaging tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
Be root, then:&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget http://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
Note: if you get &amp;lt;code&amp;gt;Error: ERROR: More than one new package in directory&amp;lt;/code&amp;gt; at the end of the build, you may have to use an older EPM. In that case, just add &amp;lt;code&amp;gt;--with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;lt;/code&amp;gt; to the options you pass to &amp;lt;code&amp;gt;./configure&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly. You may also need fakeroot (or pseudo):&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the 32-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86.exe this direct link]. Note: &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 for building AOO up to version 4.1.7.&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch git make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.15-bin.zip or apache-ant-1.10.8-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.15&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with trunk and the 4.2.x branch, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the 64-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]. Note: For some older revisions &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 to build AOO from trunk or AOO42X.&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245798</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245798"/>
		<updated>2020-10-18T07:06:40Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Build and Packaging tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
Be root, then:&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget http://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
Note: if you get&lt;br /&gt;
 Error: ERROR: More than one new package in directory&lt;br /&gt;
at the end of the build, you may have to use an older EPM. In that case, just add&lt;br /&gt;
 --with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&lt;br /&gt;
to the options you pass to &amp;quot;./configure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly. You may also need fakeroot (or pseudo):&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the 32-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86.exe this direct link]. Note: &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 for building AOO up to version 4.1.7.&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch git make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.15-bin.zip or apache-ant-1.10.8-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.15&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with trunk and the 4.2.x branch, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the 64-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]. Note: For some older revisions &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 to build AOO from trunk or AOO42X.&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245797</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245797"/>
		<updated>2020-10-18T07:05:47Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
Be root, then:&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget http://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
Note: if you get&lt;br /&gt;
  Error: ERROR: More than one new package in directory&lt;br /&gt;
at the end of the build, you may have to use an older EPM. In that case, just add&lt;br /&gt;
  --with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&lt;br /&gt;
to the options you pass to &amp;quot;./configure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly. You may also need fakeroot (or pseudo):&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the 32-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86.exe this direct link]. Note: &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 for building AOO up to version 4.1.7.&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch git make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.15-bin.zip or apache-ant-1.10.8-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.15&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with trunk and the 4.2.x branch, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the 64-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]. Note: For some older revisions &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 to build AOO from trunk or AOO42X.&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245796</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245796"/>
		<updated>2020-10-18T07:02:11Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Build and Packaging tools */ Fallback EPM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
Be root, then:&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget http://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ # extract the archive, then&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
Note: if you get `Error: ERROR: More than one new package in directory` at the end of the build, you may have to use an older EPM. In that case, just add `--with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz` to the options you pass to `./configure`.&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly. You may also need fakeroot (or pseudo):&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the 32-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86.exe this direct link]. Note: &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 for building AOO up to version 4.1.7.&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch git make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.15-bin.zip or apache-ant-1.10.8-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.15&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with trunk and the 4.2.x branch, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the 64-bit version (the latest Cygwin DLL known to work is 3.1.6-1) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]. Note: For some older revisions &amp;quot;make&amp;quot; has to be downgraded to version 4.2.1-2 to build AOO from trunk or AOO42X.&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245601</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245601"/>
		<updated>2019-09-21T20:45:58Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Install Perl modules */ Resort to HTTP as HTTPS does not work any longer on CentOS 5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
Be root, then:&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget http://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4,12,3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly:&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.14-bin.zip or apache-ant-1.10.7-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.14&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245600</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245600"/>
		<updated>2019-09-21T20:42:15Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Download Ant */ Keep using Ant 1.9.7&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4,12,3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly:&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.14-bin.zip or apache-ant-1.10.7-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.14&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245599</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245599"/>
		<updated>2019-09-21T20:41:35Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Download Ant */ Update ant 1.9.7 URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.8-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4,12,3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly:&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.14-bin.zip or apache-ant-1.10.7-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.14&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245598</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245598"/>
		<updated>2019-09-21T20:34:37Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup repositories and packages */ Install git and not SVN&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        git \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4,12,3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly:&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.14-bin.zip or apache-ant-1.10.7-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.14&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245597</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245597"/>
		<updated>2019-09-21T20:33:06Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup a VM */ Update YUM repositories URLs to vault&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** You&amp;#039;ll need to point URLs to vault: &amp;lt;code&amp;gt;sudo vim /etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; and in the enabled repositories comment out mirrorlist and add (respectively) &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/os/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/updates/x86_64/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;baseurl=http://vault.centos.org/5.11/extras/x86_64/&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4,12,3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly:&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.14-bin.zip or apache-ant-1.10.7-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.14&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245596</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=245596"/>
		<updated>2019-09-21T19:49:35Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup a VM */ Update links to CentOS Vault mirrors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. OpenJDK 6 or 7 is not available for Ubuntu 16.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-8-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
Draft: With Version 4.2 we start to update the build enviroment to Ubuntu 18.04 and Debian 9. You can follow [https://wiki.openoffice.org/wiki/User:Mechtilde/AOOBauen AOOBauen]&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
Ubuntu 14.04 is our secondary build platform for our complimentary community Linux 32 and 64 bit platforms, CentOS7 being our primary.&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Updated Install requirements. In addition to those listed for Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install openjdk-7-jdk fakeroot&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ tar -xzf dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4.12.3&lt;br /&gt;
 $ ./configure --prefix=/usr/local&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ tar -xzf epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
* Install git and checkout the source (since 2019-08-03:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install git&lt;br /&gt;
  git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&lt;br /&gt;
  cd aoo/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mirror.nsc.liu.se/centos-store/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.nsc.liu.se and CentOS directory /centos-store/5.11/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later, mainly due to some dependencies no longer being available for CentOS5 (such as &amp;#039;&amp;#039;gstreamer-1.x&amp;#039;&amp;#039;). Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        fakeroot \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Build and Packaging tools==&lt;br /&gt;
&lt;br /&gt;
Download, configure, build and install dmake and epm&lt;br /&gt;
 $ wget https://github.com/jimjag/dmake/archive/dmake-4.12.3.tar.gz&lt;br /&gt;
 $ cd dmake-dmake-4,12,3&lt;br /&gt;
 $ ./configure --prefix=/usr/local; make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ wget https://github.com/jimjag/epm/archive/epm-4.4.2.tar.gz&lt;br /&gt;
 $ cd epm-epm-4.4.2&lt;br /&gt;
 $ ./configure --prefix=/usr/local --enable-aoo; make install&lt;br /&gt;
&lt;br /&gt;
==32 bit hints==&lt;br /&gt;
&lt;br /&gt;
There is not a EPEL release for CentOS 7 32bit, so you&amp;#039;ll need to download, build and install dpkg and GNUtar directly:&lt;br /&gt;
&lt;br /&gt;
 $ wget ftp://ftp.de.debian.org//debian/pool/main/d/dpkg/dpkg_1.19.3.tar.xz&lt;br /&gt;
 $ wget http://ftp.gnu.org/gnu/tar/tar-1.30.tar.gz&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See https://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.14-bin.zip or apache-ant-1.10.7-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from Gitbox using git (Since 2019-08-03):&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the git package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache Git repository&amp;lt;pre&amp;gt;git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo&amp;amp;#10;cd aoo/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.14&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 3.0.7) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, git, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P git -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244381</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244381"/>
		<updated>2018-12-03T09:20:55Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Migration is completed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244378</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244378"/>
		<updated>2018-11-27T16:14:07Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;27 November 2018: The OpenOffice Wiki is being migrated to new hardware. Do not add or edit content while migration is in progress.&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;If you are reading this, you are already seeing the new server. Please check that the everything works as expected.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244377</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244377"/>
		<updated>2018-11-27T16:13:56Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;27 November 2018: The OpenOffice Wiki is being migrated to new hardware. Do not add or edit content while migration is in progress.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;If you are reading this, you are already seeing the new server. Please check that the everything works as expected.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244376</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244376"/>
		<updated>2018-11-27T13:12:57Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;27 November 2018: The OpenOffice Wiki is being migrated to new hardware. Do not add or edit content while migration is in progress.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244375</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=MediaWiki:Sitenotice&amp;diff=244375"/>
		<updated>2018-11-27T13:12:28Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Migration to new VM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;27 November 2018: The OpenOffice Wiki is being migrated to new hardware. Do not add or edit content while migration is in progress.&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244373</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244373"/>
		<updated>2018-11-26T09:46:03Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup repositories and packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later. Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache to use at least 2 GBytes:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.13-bin.zip or apache-ant-1.10.5-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0 or older.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.13&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244368</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244368"/>
		<updated>2018-11-08T09:12:29Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup repositories and packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later. Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up repeated builds, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl \&lt;br /&gt;
        ORBit2-devel&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.13-bin.zip or apache-ant-1.10.5-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0 or older.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.13&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244367</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244367"/>
		<updated>2018-11-07T22:09:13Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Install Perl modules */ Installing cpan is needed too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later. Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up build, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        cpan \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.13-bin.zip or apache-ant-1.10.5-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0 or older.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.13&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244366</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244366"/>
		<updated>2018-11-07T22:07:32Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Download Ant */ Ant 1.9.12 is no longer available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later. Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up build, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.13-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.13 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.13-bin.zip or apache-ant-1.10.5-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0 or older.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.13&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244365</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244365"/>
		<updated>2018-11-07T22:06:21Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup repositories and packages */ wget is not part of the minimal install set&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later. Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up build, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        wget \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.12-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.12-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.12 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.13-bin.zip or apache-ant-1.10.5-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0 or older.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.13&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244364</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=244364"/>
		<updated>2018-11-07T22:05:06Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup repositories and packages */ EPEL needed for ccache&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 16.04=&lt;br /&gt;
 {{DraftPage|EN}}&lt;br /&gt;
The process to build {{AOo|EN}} is currently undergoing experimentation. As steps are firmed up they will be added here.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.3 source tarball from&lt;br /&gt;
https://www.apache.org/dyn/closer.lua/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
https://archive.apache.org/dist/openoffice/4.1.3/source/apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify apache-openoffice-4.1.3-r1761381-src.tar.bz2.asc \&lt;br /&gt;
              apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
https://www.apache.org/dist/openoffice/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/apache-openoffice-4.1.3-r1761381-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.3/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev libpam-dev libgstreamer\*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5 for AOO 4.1.x =&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory.&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can no longer use the system Perl and standard packages on CentOS 5, which are too old, so we will need to build newer versions.&lt;br /&gt;
&lt;br /&gt;
  $ cd /usr/local/src&lt;br /&gt;
  $ wget https://www.cpan.org/src/5.0/perl-5.14.4.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.14.4.tar.gz&lt;br /&gt;
  $ cd perl-5.14.4&lt;br /&gt;
  $ ./configure.gnu ; make&lt;br /&gt;
  $ sudo make install&lt;br /&gt;
  $ sudo /usr/local/bin/perl -MCPAN -e shell&lt;br /&gt;
   cpan[1]&amp;gt; install Archive::Zip XML::Parser LWP::UserAgent Digest::SHA Digest::MD5 LWP::Protocol::https&lt;br /&gt;
   cpan[1]&amp;gt; exit&lt;br /&gt;
  $&lt;br /&gt;
&lt;br /&gt;
Make sure that /usr/local/bin/perl is in your $PATH and is used before any other versions.&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
=CentOS 7 for AOO 4.2.x and later=&lt;br /&gt;
&lt;br /&gt;
Although CentOS 5 was our reference environment for build through the 4.1.x series, as it is a very old environment, it is not a viable system to use for building AOO 4.2.x and later. Not to say that you can&amp;#039;t do so, but we have switched to CentOS 7 for our reference build. Other than that, the actual setups and builds for both OSs are strikingly similar.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
We have had good results installing CentOS 7 under both VirtualBox and VMware. Our community builds are actually done on a VMware Fusion VM. Build times are mostly sensitive to the number of CPUs and allocated RAM; our setup is a 6 core VM with 16GB of memory. We recommend CentOS 7.5&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs) and for ccache (to speed up build, optional but recommended):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install epel-release&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.7.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        gstreamer1-devel \&lt;br /&gt;
        gstreamer1-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache \&lt;br /&gt;
        glib2-devel \&lt;br /&gt;
        dbus-glib-devel \&lt;br /&gt;
        perl&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
The version of Ant installed via yum can cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.12-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.12-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.12 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 6, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
        perl-Env \&lt;br /&gt;
        perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
  $ sudo cpan File::Path&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
               perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
               perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 $ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
               pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
               gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
               gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occur.&lt;br /&gt;
&lt;br /&gt;
*Install Cygwin, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a Linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the Cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start Cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the Cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed Cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the Cygwin interface yet because you would prefer to install them using lynx from the Cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32-bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Apache Ant&lt;br /&gt;
**Browse to https://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.9.13-bin.zip or apache-ant-1.10.5-bin.zip).&amp;lt;br /&amp;gt; Note that Apache Ant 1.10.x will only work with Java 8.&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer. You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** https://www.microsoft.com/en-us/download/details.aspx?id=26368 (There have been security updates, which are not included in older versions)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt; We need both 32 and 64-bit versions because we build 64-bit shell extensions. If you download the most recent version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [https://sourceforge.net/projects/nsis/files/ https://sourceforge.net/projects/nsis/files/]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
** For Asian languages (ja, ko, zh-CN, zh-TW) the language files have to be edited, otherwise the graphics in the first installer windows don&amp;#039;t fit. In &amp;quot;{NSISDIR}\Contrib\Language files\Japanese.nlf&amp;quot; (Korean.nlf, TradChinese.nlf, SimpChinese.nlf accordingly) change: &amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;{font-name}&amp;amp;#10;{font-size}&amp;lt;/pre&amp;gt; to:&amp;lt;pre&amp;gt;Font and size - dash (-) means default&amp;amp;#10;-&amp;amp;#10;-&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Optional: Install the MozillaBuild tools. These are needed to build the &amp;lt;b&amp;gt;NSS&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [https://ftp.mozilla.org/pub/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;. MozillaBuild tools version 3.0 or newer require a 64-bit Windows. When building on 32-bit Windows it is recommended to use version 2.2.0 or older.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN. NOTE: Do not place the source directory under the Cygwin file system. This means that placing it, for example, at &amp;#039;/home/aoo/source&amp;#039; is not recommended.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable:&lt;br /&gt;
**Browse to https://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external/gdiplus&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&lt;br /&gt;
**We need the 32-bit dll (version 10.0.40219.325), available from: https://www.microsoft.com/en-US/download/details.aspx?id=26999&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.9.13&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed MozillaBuild tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches (used for official releases: --enable-win-x64-shellext):&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.1.4_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Build with Cygwin 64-bit ==&lt;br /&gt;
&lt;br /&gt;
Note: Building AOO with Cygwin 64-bit will only work with latest trunk, it will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; work with any 4.1.x branch!&lt;br /&gt;
&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64-bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [https://www.cygwin.com https://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64-bit version (the most recent Cygwin DLL at the moment is 2.10.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
** Run the installer and click through the questions&lt;br /&gt;
** On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
** Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
** On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;autoconf, gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;As a shortcut you can install everything needed with one command:&amp;lt;pre&amp;gt;setup-x86_64.exe -P zip -P unzip -P autoconf -P gperf -P gcc-g++ -P bison -P flex -P patch -P subversion -P make -P rsync -P perl -P perl-XML-SAX-Expat -P perl-Archive-Zip -P perl-LWP-Protocol-https -P perl-XML-parser -P perl-libwww-perl -P perl-Digest-SHA -P perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Click Next to finish package selection.&lt;br /&gt;
** Click Next to resolve dependencies.&lt;br /&gt;
** After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
* Start Cygwin bash in a terminal and follow all the steps for 32-bit Cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
** Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
In order to build OpenOffice on Mac OS X see [[Documentation/Building Guide AOO/Building on MacOsX|Building on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/DevGuide/Spreadsheets/Filter_Options&amp;diff=243791</id>
		<title>Documentation/DevGuide/Spreadsheets/Filter Options</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/DevGuide/Spreadsheets/Filter_Options&amp;diff=243791"/>
		<updated>2018-08-16T13:46:44Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Note the list is not up-to-date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/DevGuide/SpreadsheetsTOC&lt;br /&gt;
|SpreadsheetDocs2b=block&lt;br /&gt;
|SpreadsheetDocsSaving=block&lt;br /&gt;
|ShowPrevNext=block&lt;br /&gt;
|PrevPage=Documentation/DevGuide/Spreadsheets/Saving Spreadsheet Documents&lt;br /&gt;
|NextPage=Documentation/DevGuide/Spreadsheets/Printing Spreadsheet Documents&lt;br /&gt;
}}&lt;br /&gt;
{{Documentation/DevGuideLanguages|Documentation/DevGuide/Spreadsheets/{{SUBPAGENAME}}}} &lt;br /&gt;
 {{DISPLAYTITLE:Filter Options}}&lt;br /&gt;
Loading and saving {{PRODUCTNAME}} API documents is described in [[Documentation/DevGuide/OfficeDev/Handling Documents|Handling Documents]]. This section lists all the filter names for spreadsheet documents and describes the filter options for text file import.&lt;br /&gt;
&lt;br /&gt;
The filter name and options are passed on loading or saving a document in a sequence of &amp;lt;idl&amp;gt;com.sun.star.beans.PropertyValue&amp;lt;/idl&amp;gt;s. The property &amp;lt;code&amp;gt;FilterName&amp;lt;/code&amp;gt; contains the name and the property &amp;lt;code&amp;gt;FilterOptions&amp;lt;/code&amp;gt; contains the filter options.&lt;br /&gt;
&lt;br /&gt;
{{Note|This list is no longer current as of OpenOffice 4.1.x.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|All filter names are case-sensitive. For compatibility reasons the filter names will not be changed. Therefore, some of the filters seem to have &amp;quot;curious&amp;quot; names.}}&lt;br /&gt;
&lt;br /&gt;
The list of filter names (the last two columns show the possible directions of the filters):&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=4 style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
|-bgcolor=#EDEDED&lt;br /&gt;
!Filter name &lt;br /&gt;
!Description &lt;br /&gt;
!Import &lt;br /&gt;
!Export &lt;br /&gt;
|-&lt;br /&gt;
|StarOffice XML (Calc) &lt;br /&gt;
|Standard XML filter &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|calc_StarOffice_XML_Calc_Template &lt;br /&gt;
|XML filter for templates &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|StarCalc 5.0 &lt;br /&gt;
|The binary format of StarOffice Calc 5.x &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|StarCalc 5.0 Vorlage/Template &lt;br /&gt;
|StarOffice Calc 5.x templates &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|StarCalc 4.0 &lt;br /&gt;
|The binary format of StarCalc 4.x &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|StarCalc 4.0 Vorlage/Template &lt;br /&gt;
|StarCalc 4.x templates &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|StarCalc 3.0 &lt;br /&gt;
|The binary format of StarCalc 3.x &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|StarCalc 3.0 Vorlage/Template &lt;br /&gt;
|StarCalc 3.x templates &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|HTML (StarCalc) &lt;br /&gt;
|HTML filter &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|calc_HTML_WebQuery &lt;br /&gt;
|HTML filter for external data queries &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 97 &lt;br /&gt;
|Microsoft Excel 97/2000/XP &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 97 Vorlage/Template &lt;br /&gt;
|Microsoft Excel 97/2000/XP templates &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 95 &lt;br /&gt;
|Microsoft Excel 5.0/95 &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 5.0/95 &lt;br /&gt;
|Different name for the same filter &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 95 Vorlage/Template &lt;br /&gt;
|Microsoft Excel 5.0/95 templates &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 5.0/95 Vorlage/Template &lt;br /&gt;
|Different name for the same filter &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 4.0 &lt;br /&gt;
|Microsoft Excel 2.1/3.0/4.0 &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|MS Excel 4.0 Vorlage/Template &lt;br /&gt;
|Microsoft Excel 2.1/3.0/4.0 templates &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Lotus &lt;br /&gt;
|Lotus 1-2-3 &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|Text - txt - csv (StarCalc) &lt;br /&gt;
|Comma separated values &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Rich Text Format (StarCalc) &lt;br /&gt;
| &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|dBase &lt;br /&gt;
| &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|SYLK &lt;br /&gt;
|Symbolic Link &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|DIF &lt;br /&gt;
|Data Interchange Format &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;●&amp;lt;/center&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Filter Options for Lotus, dBase and DIF Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters accept a string containing the numerical index of the used character set for single-byte characters, that is, 0 for the system character set.&lt;br /&gt;
&lt;br /&gt;
The numerical indexes assigned to the character sets:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=4 style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
|-bgcolor=#EDEDED&lt;br /&gt;
!Character Set&lt;br /&gt;
!Index&lt;br /&gt;
|-&lt;br /&gt;
|Unknown&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1252/WinLatin 1 (Western)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Western)&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-437/US (Western)&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-850/International (Western)&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-860/Portuguese (Western)&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-861/Icelandic (Western)&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-863/Canadian-French (Western)&lt;br /&gt;
|7&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-865/Nordic (Western)&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|System default&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
|Symbol&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|ASCII/US (Western)&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-1 (Western)&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-2 (Central European)&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-3 (Latin 3)&lt;br /&gt;
|14&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-4 (Baltic)&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-5 (Cyrillic)&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-6 (Arabic)&lt;br /&gt;
|17&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-7 (Greek)&lt;br /&gt;
|18&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-8 (Hebrew)&lt;br /&gt;
|19&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-9 (Turkish)&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-14 (Western)&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-15/EURO (Western)&lt;br /&gt;
|22&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-737 (Greek)&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-775 (Baltic)&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-852 (Central European)&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-855 (Cyrillic)&lt;br /&gt;
|26&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-857 (Turkish)&lt;br /&gt;
|27&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-862 (Hebrew)&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-864 (Arabic)&lt;br /&gt;
|29&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-866/Russian (Cyrillic)&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|DOS/OS2-869/Modern (Greek)&lt;br /&gt;
|31&lt;br /&gt;
|-&lt;br /&gt;
|DOS/Windows-874 (Thai)&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1250/WinLatin 2 (Central European)&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1251 (Cyrillic)&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1253 (Greek)&lt;br /&gt;
|35&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1254 (Turkish)&lt;br /&gt;
|36&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1255 (Hebrew)&lt;br /&gt;
|37&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1256 (Arabic)&lt;br /&gt;
|38&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1257 (Baltic)&lt;br /&gt;
|39&lt;br /&gt;
|-&lt;br /&gt;
|Windows-1258 (Vietnamese)&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Arabic)&lt;br /&gt;
|41&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Central European)&lt;br /&gt;
|42&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh/Croatian (Central European)&lt;br /&gt;
|43&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Cyrillic)&lt;br /&gt;
|44&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;Not supported:&amp;#039;&amp;#039; Apple Macintosh (Devanagari)&lt;br /&gt;
|45&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;Not supported:&amp;#039;&amp;#039; Apple Macintosh (Farsi)&lt;br /&gt;
|46&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Greek)&lt;br /&gt;
|47&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;Not supported:&amp;#039;&amp;#039; Apple Macintosh (Gujarati)&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;Not supported:&amp;#039;&amp;#039; Apple Macintosh (Gurmukhi)&lt;br /&gt;
|49&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Hebrew)&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh/Icelandic (Western)&lt;br /&gt;
|51&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh/Romanian (Central European)&lt;br /&gt;
|52&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Thai)&lt;br /&gt;
|53&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Turkish)&lt;br /&gt;
|54&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh/Ukrainian (Cyrillic)&lt;br /&gt;
|55&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Chinese Simplified)&lt;br /&gt;
|56&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Chinese Traditional)&lt;br /&gt;
|57&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Japanese)&lt;br /&gt;
|58&lt;br /&gt;
|-&lt;br /&gt;
|Apple Macintosh (Korean)&lt;br /&gt;
|59&lt;br /&gt;
|-&lt;br /&gt;
|Windows-932 (Japanese)&lt;br /&gt;
|60&lt;br /&gt;
|-&lt;br /&gt;
|Windows-936 (Chinese Simplified)&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Windows-Wansung-949 (Korean)&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Windows-950 (Chinese Traditional)&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Shift-JIS (Japanese)&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|GB-2312 (Chinese Simplified)&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|GBT-12345 (Chinese Traditional)&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|GBK/GB-2312-80 (Chinese Simplified)&lt;br /&gt;
|67&lt;br /&gt;
|-&lt;br /&gt;
|BIG5 (Chinese Traditional)&lt;br /&gt;
|68&lt;br /&gt;
|-&lt;br /&gt;
|EUC-JP (Japanese)&lt;br /&gt;
|69&lt;br /&gt;
|-&lt;br /&gt;
|EUC-CN (Chinese Simplified)&lt;br /&gt;
|70&lt;br /&gt;
|-&lt;br /&gt;
|EUC-TW (Chinese Traditional)&lt;br /&gt;
|71&lt;br /&gt;
|-&lt;br /&gt;
|ISO-2022-JP (Japanese)&lt;br /&gt;
|72&lt;br /&gt;
|-&lt;br /&gt;
|ISO-2022-CN (Chinese Simplified)&lt;br /&gt;
|73&lt;br /&gt;
|-&lt;br /&gt;
|KOI8-R (Cyrillic)&lt;br /&gt;
|74&lt;br /&gt;
|-&lt;br /&gt;
|Unicode (UTF-7)&lt;br /&gt;
|75&lt;br /&gt;
|-&lt;br /&gt;
|Unicode (UTF-8)&lt;br /&gt;
|76&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-10 (Central European)&lt;br /&gt;
|77&lt;br /&gt;
|-&lt;br /&gt;
|ISO-8859-13 (Central European)&lt;br /&gt;
|78&lt;br /&gt;
|-&lt;br /&gt;
|EUC-KR (Korean)&lt;br /&gt;
|79&lt;br /&gt;
|-&lt;br /&gt;
|ISO-2022-KR (Korean)&lt;br /&gt;
|80&lt;br /&gt;
|-&lt;br /&gt;
|JIS 0201 (Japanese)&lt;br /&gt;
|81&lt;br /&gt;
|-&lt;br /&gt;
|JIS 0208 (Japanese)&lt;br /&gt;
|82&lt;br /&gt;
|-&lt;br /&gt;
|JIS 0212 (Japanese)&lt;br /&gt;
|83&lt;br /&gt;
|-&lt;br /&gt;
|Windows-Johab-1361 (Korean)&lt;br /&gt;
|84&lt;br /&gt;
|-&lt;br /&gt;
|GB-18030 (Chinese Simplified)&lt;br /&gt;
|85&lt;br /&gt;
|-&lt;br /&gt;
|BIG5-HKSCS (Chinese Traditional)&lt;br /&gt;
|86&lt;br /&gt;
|-&lt;br /&gt;
|TIS 620 (Thai)&lt;br /&gt;
|87&lt;br /&gt;
|-&lt;br /&gt;
|KOI8-U (Cyrillic)&lt;br /&gt;
|88&lt;br /&gt;
|-&lt;br /&gt;
|ISCII Devanagari (Indian)&lt;br /&gt;
|89&lt;br /&gt;
|-&lt;br /&gt;
|Unicode (Java&amp;#039;s modified UTF-8)&lt;br /&gt;
|90&lt;br /&gt;
|-&lt;br /&gt;
|Adobe Standard&lt;br /&gt;
|91&lt;br /&gt;
|-&lt;br /&gt;
|Adobe Symbol&lt;br /&gt;
|92&lt;br /&gt;
|-&lt;br /&gt;
|PT 154 (Windows Cyrillic Asian codepage &amp;lt;br /&amp;gt;developed in ParaType)&lt;br /&gt;
|93&lt;br /&gt;
|-&lt;br /&gt;
|Unicode UCS4&lt;br /&gt;
|65534&lt;br /&gt;
|-&lt;br /&gt;
|Unicode UCS2&lt;br /&gt;
|65535&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Filter Options for the CSV Filter ===&lt;br /&gt;
&lt;br /&gt;
This filter accepts an option string containing five to nine tokens, separated by commas. Tokens 6, to 9 are optional.&lt;br /&gt;
&lt;br /&gt;
==== Tokens 1 to 5 ====&lt;br /&gt;
&lt;br /&gt;
The following table shows an example string for a file with four columns of type date - number - number - number. In the table the tokens are numbered from (1) to (5). Each token is explained below.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=4 style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
|-bgcolor=#EDEDED&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Example Filter Options String &lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Field Separator (1) &lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Text Delimiter (2) &lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Character Set (3) &lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Number of First Line (4) &lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Cell Format Codes for the four Columns (5) &lt;br /&gt;
|-bgcolor=#EDEDED&lt;br /&gt;
!Column &lt;br /&gt;
!Code  &lt;br /&gt;
|-&lt;br /&gt;
|File Format: &lt;br /&gt;
Four columns&lt;br /&gt;
date-num-num-num  &lt;br /&gt;
| , &lt;br /&gt;
| &amp;quot; &lt;br /&gt;
|System &lt;br /&gt;
|line no. 1 &lt;br /&gt;
|1&amp;lt;br&amp;gt;&lt;br /&gt;
2&amp;lt;br&amp;gt;&lt;br /&gt;
3&amp;lt;br&amp;gt;&lt;br /&gt;
4 &lt;br /&gt;
|YY/MM/DD = 5&amp;lt;br&amp;gt;&lt;br /&gt;
Standard = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Standard = 1&amp;lt;br&amp;gt;&lt;br /&gt;
Standard = 1 &lt;br /&gt;
|-&lt;br /&gt;
|Token &lt;br /&gt;
|44 &lt;br /&gt;
|34 &lt;br /&gt;
|0 &lt;br /&gt;
|1 &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|1/5/2/1/3/1/4/1 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the filter options above, set the PropertyValue &amp;lt;code&amp;gt;FilterOptions&amp;lt;/code&amp;gt; in the load arguments to &amp;quot;44,34,0,1,1/5/2/1/3/1/4/1&amp;quot;. There are a number of possible settings for the five tokens.&lt;br /&gt;
&lt;br /&gt;
# Field separator(s) as ASCII values. Multiple values are separated by the slash sign (&amp;quot;/&amp;quot;), that is, if the values are separated by semicolons and horizontal tabulators, the token would be 59/9. To treat several consecutive separators as one, the four letters /MRG have to be appended to the token. If the file contains fixed width fields, the three letters FIX are used.&lt;br /&gt;
# The text delimiter as ASCII value, that is, 34 for double quotes and 39 for single quotes.&lt;br /&gt;
# The character set used in the file as described above.&lt;br /&gt;
# Number of the first line to convert. The first line in the file has the number 1.&lt;br /&gt;
# Cell format of the columns. The content of this token depends on the value of the first token.&lt;br /&gt;
::* If value separators are used, the form of this token is column/format[/column/format/...] where column is the number of the column, with 1 being the leftmost column. The format is explained below.&lt;br /&gt;
::* If the first token is FIX it has the form &amp;#039;&amp;#039;start/format&amp;#039;&amp;#039;[&amp;#039;&amp;#039;/start/format/...&amp;#039;&amp;#039;], where start is the number of the first character for this field, with 0 being the leftmost character in a line. The format is explained below.&lt;br /&gt;
::Format specifies which cell format should be used for a field during import:&lt;br /&gt;
&lt;br /&gt;
::{|border=&amp;quot;1&amp;quot; cellpadding=4 style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
|-bgcolor=#EDEDED&lt;br /&gt;
!Format Code &lt;br /&gt;
!Meaning &lt;br /&gt;
|-&lt;br /&gt;
|1 &lt;br /&gt;
|Standard &lt;br /&gt;
|-&lt;br /&gt;
|2 &lt;br /&gt;
|Text &lt;br /&gt;
|-&lt;br /&gt;
|3 &lt;br /&gt;
|MM/DD/YY &lt;br /&gt;
|-&lt;br /&gt;
|4 &lt;br /&gt;
|DD/MM/YY &lt;br /&gt;
|-&lt;br /&gt;
|5 &lt;br /&gt;
|YY/MM/DD &lt;br /&gt;
|-&lt;br /&gt;
|6 &lt;br /&gt;
| - &lt;br /&gt;
|-&lt;br /&gt;
|7 &lt;br /&gt;
| - &lt;br /&gt;
|-&lt;br /&gt;
|8 &lt;br /&gt;
| - &lt;br /&gt;
|-&lt;br /&gt;
|9 &lt;br /&gt;
|ignore field (do not import) &lt;br /&gt;
|-&lt;br /&gt;
|10 &lt;br /&gt;
|US-English &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
::The type code 10 indicates that the content of a field is US-English. This is useful if a field contains decimal numbers that are formatted according to the US system (using &amp;quot;.&amp;quot; as decimal separator and &amp;quot;,&amp;quot; as thousands separator). Using 10 as a format specifier for this field tells {{PRODUCTNAME}} API to correctly interpret its numerical content, even if the decimal and thousands separator in the current language are different.&lt;br /&gt;
&lt;br /&gt;
==== Token 6 : Language identifier ====&lt;br /&gt;
&lt;br /&gt;
This token is the equivalent of the &amp;quot;Language&amp;quot; listbox in the user interface for csv import.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a String expressed in decimal notation. If the value is 0 or omitted, the language identifier of the user interface is used.&lt;br /&gt;
&lt;br /&gt;
The language identifier is based on the Microsoft language identifiers, for further information please see: &lt;br /&gt;
&lt;br /&gt;
Language Identifier Constants and Strings&amp;lt;br&amp;gt;&lt;br /&gt;
https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx &lt;br /&gt;
&lt;br /&gt;
Use the decimal notation, example for English US : 1033 whereas Microsoft documentation uses hexadecimal notation 0x0409.&lt;br /&gt;
==== Token 7, csv import ====&lt;br /&gt;
&lt;br /&gt;
This token is the equivalent of the check box &amp;quot;Quoted field as text&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
String, either &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. Default value : &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Token 7, csv export ====&lt;br /&gt;
&lt;br /&gt;
This token is the equivalent of the check box &amp;quot;Quote all text cells&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
String, either &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. Default value : &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Token 8, csv import ====&lt;br /&gt;
&lt;br /&gt;
This token is the equivalent of the check box &amp;quot;Detect special numbers&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
String, either &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. Default value : &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Token 8, csv export ====&lt;br /&gt;
&lt;br /&gt;
This token has no UI equivalent. If &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, the number cells are stored as numbers. If &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, the numbers are stored as text, with text delimiters.&lt;br /&gt;
&lt;br /&gt;
String, either &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. Default value : &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Token 9, csv import ====&lt;br /&gt;
&lt;br /&gt;
Not used : only 8 tokens are used.&lt;br /&gt;
&lt;br /&gt;
==== Token 9, csv export ====&lt;br /&gt;
&lt;br /&gt;
This token is the equivalent of the check box &amp;quot;Save cell contents as shown&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
String, either &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. Default value : &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Import from UTF-8, Language German, Comma separated, Text delimiter &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt;, Quoted field as text:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;44,34,76,1,,1031,true,true&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Export to Windows-1252, Field delimiter : comma, Text delimiter : quote, Save cell contents as shown:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;44,34,ANSI,1,,0,false,true,true&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{PDL1}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation/Developer&amp;#039;s Guide/Spreadsheet Documents]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Pootle_User_Guide/Managing_Pootle&amp;diff=237994</id>
		<title>Pootle User Guide/Managing Pootle</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Pootle_User_Guide/Managing_Pootle&amp;diff=237994"/>
		<updated>2017-06-12T21:12:48Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Add Pootle Administration tips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What are Pootle admins? ==&lt;br /&gt;
&lt;br /&gt;
Pootle admins are a few people responsible for administering the shared Pootle instance at https://translate.apache.org - they manage other people&amp;#039;s accounts and the system itself; for &amp;quot;ordinary&amp;quot; translation activity you don&amp;#039;t need to be a Pootle admin.&lt;br /&gt;
&lt;br /&gt;
== How can I join? ==&lt;br /&gt;
&lt;br /&gt;
If you are interested in helping, please let the [https://openoffice.apache.org/mailing-lists.html dev list] know about it. Remember that Pootle admins have high privileges, so the admins group cannot be large.&lt;br /&gt;
&lt;br /&gt;
== As an admin, how do I add a user? ==&lt;br /&gt;
&lt;br /&gt;
User requests are usually received through the [https://openoffice.apache.org/mailing-lists.html l10n list] and include a preferred username, a language and an Apache License statement.&lt;br /&gt;
&lt;br /&gt;
To add a user:&lt;br /&gt;
&lt;br /&gt;
1. Login to Pootle&lt;br /&gt;
&lt;br /&gt;
2. Click on ADMIN top right&lt;br /&gt;
&lt;br /&gt;
3. Select the Users tab&lt;br /&gt;
&lt;br /&gt;
4. Go to the last row, fill it in with username, first name, last name, e-mail; enable the &amp;quot;Active&amp;quot; checkbox, leave all the others disabled; enter a strong random password in the password field (it will not be used, so you needn&amp;#039;t make note of it)&lt;br /&gt;
&lt;br /&gt;
5. Go back to the Pootle home page https://translate.apache.org/ and click on the language the new volunteer wishes to translate into.&lt;br /&gt;
&lt;br /&gt;
6. Click on &amp;quot;Apache OpenOffice 4.x&amp;quot; then Permissions. Give the new volunteer the last 4 permissions (review, make a suggestion, submit a translation, view). Save changes.&lt;br /&gt;
&lt;br /&gt;
7. Do the same for the &amp;quot;Apache OpenOffice 4.x Help&amp;quot; project.&lt;br /&gt;
&lt;br /&gt;
8. Send a welcome mail CCing the l10n list. A sample mail is below.&lt;br /&gt;
&lt;br /&gt;
9. The user (as per welcome mail) will reset his password so there is no need for the admin to give it to the new user.&lt;br /&gt;
&lt;br /&gt;
== Template welcome mail ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Welcome! Account $ACCOUNT_NAME created and enabled for $LANGUAGE.&lt;br /&gt;
&lt;br /&gt;
Please go to&lt;br /&gt;
https://translate.apache.org/accounts/password/reset/&lt;br /&gt;
to receive your password.&lt;br /&gt;
&lt;br /&gt;
Then you will able to login at&lt;br /&gt;
https://translate.apache.org/accounts/login/&lt;br /&gt;
and translate at&lt;br /&gt;
https://translate.apache.org/$LANGCODE/aoo40/&lt;br /&gt;
&lt;br /&gt;
A detailed Pootle guide is available at&lt;br /&gt;
http://wiki.openoffice.org/wiki/Pootle_User_Guide&lt;br /&gt;
&lt;br /&gt;
If you don&amp;#039;t want to miss announcements you should subscribe to this mailing list: send an empty e-mail message to l10n-subscribe@openoffice.apache.org and respond to the confirmation request you will receive.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Pootle_User_Guide&amp;diff=237993</id>
		<title>Pootle User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Pootle_User_Guide&amp;diff=237993"/>
		<updated>2017-06-12T20:54:41Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Link to Managing Pootle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/MasterTOC&lt;br /&gt;
|booktitle=[[Pootle_User_Guide|Pootle User Guide]]&lt;br /&gt;
|toccontent=*[[Pootle_User_Guide/Registration_and_Login|Registration and Login]]&lt;br /&gt;
*[[Pootle_User_Guide/Online_Pootle_User_Interface|Overview Pootle UI]]&lt;br /&gt;
*[[Pootle_User_Guide/Offline_Translation|Offline Translation]]&lt;br /&gt;
*[[Pootle_User_Guide/Quality_Assurance|Quality Assurance]]&lt;br /&gt;
*[[Pootle_User_Guide/Release_Localized_Build|Releasing a Localized Build]]&lt;br /&gt;
*[[Pootle_User_Guide/Technical_Helpers|Technical Helpers]]&lt;br /&gt;
*[[Pootle_User_Guide/Translation_AOO_User_Interface|Translation of the User Interface]]&lt;br /&gt;
*[[Pootle_User_Guide/Translation_Built-in_Help|Translation of the Built-in Help]]&lt;br /&gt;
*[[Pootle_User_Guide/General_Problems|General Problems]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:Pootle User Guide}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[http://www.apache.org The Apache Software Foundation] runs a Pootle Translate service to allow its projects an easy, cooperative way to localize their products. This guide describes how to use Pootle in the Apache OpenOffice project. More than 40 languages (out of the 120+ languages OpenOffice supports) are maintained in Pootle and more coming soon.&lt;br /&gt;
&lt;br /&gt;
For an introduction to the localization process read https://openoffice.apache.org/translate.html and for a more general overview start at https://openoffice.apache.org/get-involved.html.&lt;br /&gt;
&lt;br /&gt;
;[[Pootle_User_Guide/Registration_and_Login|Registration and Login]]: The chapter describes how to become a Translator.&lt;br /&gt;
;[[Pootle_User_Guide/Online_Pootle_User_Interface|Overview Pootle UI]]: The chapter introduces you to the elements in the user interface of Pootle. &lt;br /&gt;
;[[Pootle_User_Guide/Offline_Translation|Offline Translation]]: The chapter explains how to translate offline.&lt;br /&gt;
;[[Pootle_User_Guide/Quality_Assurance|Quality Assurance]]: The chapter provides tips to ensure a high quality of the translation.&lt;br /&gt;
;[[Pootle_User_Guide/Release_Localized_Build|Releasing a Localized Build]]: The chapter describes the steps needed to provide a localized version of Apache OpenOffice.&lt;br /&gt;
;[[Pootle_User_Guide/Technical_Helpers|Technical Helpers]]: The chapter shows you helpers for the process of translation.&lt;br /&gt;
;[[Pootle_User_Guide/Translation_AOO_User_Interface|Translation of the User Interface]]: The chapter lists tips and tricks for translating the user interface of Apache OpenOffice.&lt;br /&gt;
;[[Pootle_User_Guide/Translation_Built-in_Help|Translation of the Built-in Help]]:  The chapter lists tips and tricks for translating the built-in help of Apache OpenOffice.&lt;br /&gt;
;[[Pootle_User_Guide/General_Problems|General Problems]]: The chapter gives you assistance in general problems, which might occur during the translating process.&lt;br /&gt;
;[[Pootle_User_Guide/Managing Pootle|Managing Pootle]]: Tips for the Pootle Administrators.&lt;br /&gt;
&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
(The description here uses the dummy language xy)&lt;br /&gt;
We have agreed, that all localized content in this Wiki goes to the subfolder XY of the main Wiki URL. Notice the upper case of the subfolder name. If a page is a translation of an English page, the title in the URL is the same as the English one. Example: The URL of the translation of the page http://wiki.openoffice.org/wiki/Pootle_User_Guide has to be http://wiki.openoffice.org/wiki/XY/Pootle_User_Guide in the language xy.&lt;br /&gt;
To connect the orignal and translated page insert the line&lt;br /&gt;
 [[xy:XY/Pootle_User_Guide]]&lt;br /&gt;
at the bottom of the original page, ordered alphabetically by the namespace. Of cause use instead of Pootle_User_Guide the real page title. If your native language community has decided to use another structure under XY, you should ask the community members before you start translation.&lt;br /&gt;
To get all the structure and formatting from the original page, open it in edit mode and copy the whole content to your new page, then cancel editing of the original page.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[de:DE/Pootle_User_Guide]]&lt;br /&gt;
[[it:IT/Localizzazione/Pootle]]&lt;br /&gt;
[[ja:JA/translation/Pootle_User_Guide]]&lt;br /&gt;
[[ko:KO/Pootle 사용자 가이드]]&lt;br /&gt;
[[nl:NL/Localisatie/Pootle gebruikersgids]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237726</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237726"/>
		<updated>2016-11-06T16:16:12Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the CentOS repositories:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17 ant17-apache-regexp&lt;br /&gt;
&lt;br /&gt;
However, this will still cause configure to fail, so a manual download is needed. Ant will live in ~/ant and we need to download it manually.&lt;br /&gt;
&lt;br /&gt;
 $ cd&lt;br /&gt;
 $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
 $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 5, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://www.msweet.org/files/project2/epm-3.7-source.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
              perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
              perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the cygwin interface yet because you would prefer to install them using lynx from the cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [http://nsis.sourceforge.net/Download http://nsis.sourceforge.net/Download]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Optional: Install the Mozilla Build Tools. These are needed to build the &amp;lt;b&amp;gt;nss&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Mozilla Build Tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches such as&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Testing build with Cygwin 64 bit ==&lt;br /&gt;
There seem to be a few difficulties in building OpenOffice using the 64 bit version of Cygwin. Perhaps they can be resolved. So this paragraph is an area to be developed as these obstacles are removed.&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
**Now, since the 64bit Cygwin seems to make it difficult for the configure script to find Visual Studio (oowintool chokes up at some point), the solution is to install a missing key in the registry:&lt;br /&gt;
**# Type &amp;quot;regedit&amp;quot; in the Start Menu or Cortana search bar and click on the &amp;quot;registry editor&amp;quot; search result (Windows 7 and up) or click the Windows button + R, type &amp;quot;regedit&amp;quot;, and hit Enter&lt;br /&gt;
**# NOTE: you may want to backup your registry before making any modifications&lt;br /&gt;
**#* In the Registry Editor dialog box, choose File &amp;gt; Export.&lt;br /&gt;
**#* Type a name for the file and select a location.&lt;br /&gt;
**#* For Export Range, select All.&lt;br /&gt;
**#* Click Save.&lt;br /&gt;
**# Navigate to the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\&lt;br /&gt;
**# If there is no &amp;quot;Setup&amp;quot; key under here, create a new subkey by the name of &amp;quot;Setup&amp;quot; and then a subkey of Setup by the name of &amp;quot;VC&amp;quot;&lt;br /&gt;
**# You should now be able to navigate to this key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC, under which you will create a new string by the name of &amp;quot;ProductDir&amp;quot; and give it a value of &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot;&lt;br /&gt;
**# Close the registry editor&lt;br /&gt;
**NOTE: perhaps &amp;#039;&amp;#039;oowintool&amp;#039;&amp;#039; needs to be looked into, so that it won&amp;#039;t choke up when it doesn&amp;#039;t find this key. Why does it choke up on 64bit cygwin and not on 32bit cygwin?&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal and follow all the steps for 32bit cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
**NOTE: &amp;lt;code&amp;gt;./bootstrap&amp;lt;/code&amp;gt; seems to choke up after unpacking dmake: &amp;lt;pre&amp;gt;making and entering D:/source/aoo-trunk/main/solenv/wntmsci12.pro/misc/build/ &amp;amp;#10;unpacking /cygdrive/d/source/aoo-trunk/ext_sources/266d817492d8259a640fad075461080e-dmake-4.12.tar.bz2 &amp;amp;#10;entering dmake-4.12 &amp;amp;#10;checking build system type... ./config.guess: unable to guess system type &amp;amp;#10; &amp;amp;#10;This script, last modified 2005-07-08, has failed to recognize &amp;amp;#10;the operating system you are using. It is advised that you &amp;amp;#10;download the most up to date version of the config scripts from &amp;amp;#10; &amp;amp;#10;  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess &amp;amp;#10;and &amp;amp;#10;  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub &amp;amp;#10; &amp;amp;#10;If the version you run (./config.guess) is already up to date, please &amp;amp;#10;send the following data and any information you think might be &amp;amp;#10;pertinent to &amp;lt;config-patches@gnu.org&amp;gt; in order to provide the needed &amp;amp;#10;information to handle your system. &amp;amp;#10; &amp;amp;#10;config.guess timestamp = 2005-07-08 &amp;amp;#10; &amp;amp;#10;uname -m = x86_64 &amp;amp;#10;uname -r = 2.6.0(0.304/5/3) &amp;amp;#10;uname -s = CYGWIN_NT-10.0 &amp;amp;#10;uname -v = 2016-08-31 14:32 &amp;amp;#10; &amp;amp;#10;/usr/bin/uname -p = unknown &amp;amp;#10;/bin/uname -X     = &amp;amp;#10; &amp;amp;#10;hostinfo               = &amp;amp;#10;/bin/universe          = &amp;amp;#10;/usr/bin/arch -k       = &amp;amp;#10;/bin/arch              = x86_64 &amp;amp;#10;/usr/bin/oslevel       = &amp;amp;#10;/usr/convex/getsysinfo = &amp;amp;#10; &amp;amp;#10;UNAME_MACHINE = x86_64 &amp;amp;#10;UNAME_RELEASE = 2.6.0(0.304/5/3) &amp;amp;#10;UNAME_SYSTEM  = CYGWIN_NT-10.0 &amp;amp;#10;UNAME_VERSION = 2016-08-31 14:32 &amp;amp;#10;configure: error: cannot guess build type; you must specify one&amp;lt;/pre&amp;gt;And yet, if you try to download a more recent version of &amp;#039;&amp;#039;config.guess&amp;#039;&amp;#039; and of &amp;#039;&amp;#039;config.sub&amp;#039;&amp;#039; from github for example, then the &amp;#039;&amp;#039;./configure&amp;#039;&amp;#039; script starts to choke up and can&amp;#039;t run &amp;#039;config.sub&amp;#039;. Perhaps config.guess needs a patch?&lt;br /&gt;
[I tried using the &amp;#039;&amp;#039;&amp;#039;build&amp;#039;&amp;#039;&amp;#039; directive for the configure script to force recognition of the system, I used &amp;lt;code&amp;gt;--build=i686-pc-cygwin&amp;lt;/code&amp;gt;. The configure script recognized this parameter and this value, but &amp;lt;code&amp;gt;./bootstrap&amp;lt;/code&amp;gt; still chokes up saying it can&amp;#039;t guess the system... --[[User:Johnrdorazio|Johnrdorazio]] ([[User talk:Johnrdorazio|talk]]) 01:06, 24 September 2016 (UTC)]&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
The build guide for [https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS X] can be found on a separate page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237725</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237725"/>
		<updated>2016-11-06T15:36:13Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Download Ant */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant 1.7.1 is now available in the repositories (see page history for manual download):&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ant17&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 5, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
== Autoconf ==&lt;br /&gt;
&lt;br /&gt;
=== Work directory ===&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to create the &amp;quot;configure&amp;quot; command in order to start:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ autoconf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure the build options ==&lt;br /&gt;
&lt;br /&gt;
You need to configure the build options to tell the build command what to use or to ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-epm-url=https://www.msweet.org/files/project2/epm-3.7-source.tar.gz \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-odk \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gconf \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--disable-gnome-vfs \ &amp;lt;br/&amp;gt;&lt;br /&gt;
--with-package-format=&amp;quot;installed&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap the build ==&lt;br /&gt;
&lt;br /&gt;
You need to prepare the build environment. This will download missing source code tar balls of external libraries, download missing external dictionary extensions and pre-build needed tools:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source the environment ==&lt;br /&gt;
&lt;br /&gt;
You need to setup environment variableas and other things in the terminal window where the build should run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ source LinuxX86-64Env.Set.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
It depends on the respective terminal window/tab. The build will not or unpredictable run in a different one.&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/instsetoo_native&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command will use all available CPU cores to build most as possible in parallel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command build and redirect all output to stdout and stderr into a single log file. Perfect for forwarding to someone else in case of build problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build &amp;lt;options&amp;gt; &amp;gt; build_error_log_yyyy.mm.dd_hh.mm.txt 2&amp;gt;&amp;amp;1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following can be used when you want to know how many hours the build took to complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ time build &amp;lt;options&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is to clear things up when a project didn&amp;#039;t build successfully before starting again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ build --prepare --from &amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the same error occurs exactly again, then maybe the &amp;quot;--prepare&amp;quot; option doesn&amp;#039;t work for projects that were changed to gbuild. Then the respective solver directory needs to be deleted manually. Either from the following directory or in another sub-dir. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ rm -rf main/solver/420/*.pro/workdir/CxxObject/&amp;lt;prj_name&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cleanup the build tree ==&lt;br /&gt;
&lt;br /&gt;
Work directory&lt;br /&gt;
&amp;lt;code&amp;gt;/share/linux2/aoo/trunk/main/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following command needs to be executed to cleanup all build artefacts to be able to start again a clean build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ dmake clean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This will delete the &amp;quot;dmake&amp;quot; command itself. Therefore it&amp;#039;s needed to run configure, bootstrap and source again (see above).&lt;br /&gt;
&lt;br /&gt;
== Build breaker ==&lt;br /&gt;
&lt;br /&gt;
1. Module &amp;quot;svx&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
2. Module &amp;quot;dbaccess&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;main/svx/source/fmcomp/fmgridif.cxx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/ColumnControl.cxx&amp;lt;/code&amp;gt; should be compiled with enabled compiler optimization. However, this doesn&amp;#039;t work on the Intel x86-64 platform due to this GCC 4.9.3 bug (should be fixed with 5.0):&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&lt;br /&gt;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&lt;br /&gt;
&lt;br /&gt;
The workaround is to disable the optimization for both files in the respective makefiles &amp;lt;code&amp;gt;main/svx/Library_svxcore.mk&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;main/dbaccess/source/ui/uno/makefile.mk&amp;lt;/code&amp;gt;. The following short patch should work:&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Makefile &amp;quot;main/svx/Library_svxcore.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_svxcore.mk.orig    2016-09-04 15:32:07.305410023 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_svxcore.mk.new    2016-09-05 20:16:33.411649496 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -121,7 +121,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/engine3d/viewpt3d2 \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/dbaexchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/fmgridcl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcell \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridcols \ &amp;lt;br /&amp;gt;&lt;br /&gt;
svx/source/fmcomp/gridctrl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -452,6 +451,23 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,svxcore,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    svx/source/fmcomp/fmgridif \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx)) &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Makefile &amp;quot;main/dbaccess/Library_dbui.mk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;patch start&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- Library_dbui.mk.orig    2016-09-04 15:28:55.200594932 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
+++ Library_dbui.mk.new    2016-09-06 00:34:05.241638508 +0200 &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -260,7 +260,6 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableRowExchange \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/tabledesign/TableUndo \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/AdvancedSettingsDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
- dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnModel \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/ColumnPeer \ &amp;lt;br /&amp;gt;&lt;br /&gt;
dbaccess/source/ui/uno/DBTypeWizDlg \ &amp;lt;br /&amp;gt;&lt;br /&gt;
@@ -313,4 +312,21 @@ &amp;lt;br /&amp;gt;&lt;br /&gt;
)) &amp;lt;br /&amp;gt;&lt;br /&gt;
endif &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
+# the following source file can&amp;#039;t be compiled with &amp;quot;-Os&amp;quot; by gcc 4.9 as it &amp;lt;br /&amp;gt;&lt;br /&gt;
+# because of a bug in devirtualization optimization (#i125475#): &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+#   &amp;lt;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65009&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
+# Compiling with &amp;quot;-O2&amp;quot; or &amp;lt;br /&amp;gt;&lt;br /&gt;
+# &amp;quot;-Os -fno-devirtualize -fno-devirtualize-speculatively&amp;quot; is sufficient to fix. &amp;lt;br /&amp;gt;&lt;br /&gt;
+ifeq ($(COM),GCC) &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_cxxobjects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+else &amp;lt;br /&amp;gt;&lt;br /&gt;
+$(eval $(call gb_Library_add_exception_objects,dbui,\ &amp;lt;br /&amp;gt;&lt;br /&gt;
+    dbaccess/source/ui/uno/ColumnControl \ &amp;lt;br /&amp;gt;&lt;br /&gt;
+)) &amp;lt;br /&amp;gt;&lt;br /&gt;
+endif &amp;lt;br /&amp;gt;&lt;br /&gt;
+ &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# vim: set noet sw=4 ts=4:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/patch end&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Needed packages ==&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* ant&lt;br /&gt;
* autoconf&lt;br /&gt;
* bison&lt;br /&gt;
* cups-devel&lt;br /&gt;
* flex&lt;br /&gt;
* gcc&lt;br /&gt;
* gcc++&lt;br /&gt;
* gperf&lt;br /&gt;
* gtk2&lt;br /&gt;
* gtk2-devel&lt;br /&gt;
* hamcreast&lt;br /&gt;
* java-1.8.0-openjdk&lt;br /&gt;
* java-1.8.0-openjdk-devel&lt;br /&gt;
* junit&lt;br /&gt;
* libtiff&lt;br /&gt;
* libXt-devel&lt;br /&gt;
* make&lt;br /&gt;
* ORBit&lt;br /&gt;
* pam-devel&lt;br /&gt;
* patch&lt;br /&gt;
* perl-CPAN&lt;br /&gt;
* perl-Env&lt;br /&gt;
* rpm&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
Java 1.8 JDK has to be installed due to dependencies for ant, hamcreast and junit.&lt;br /&gt;
&lt;br /&gt;
== Building a release version ==&lt;br /&gt;
&lt;br /&gt;
Additional things that need to done when building a release version out of a SVN branch (e.g., AOO 4.1.3 from &amp;quot;AOO413&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
The following packages (incl. their dependencies) that need to be available or installed additionally:&lt;br /&gt;
&lt;br /&gt;
* dpkg&lt;br /&gt;
* dbus-glib-devel&lt;br /&gt;
* GConf2-devel&lt;br /&gt;
* gnome-vfs2&lt;br /&gt;
* gnome-vfs2-devel&lt;br /&gt;
* gstreamer-devel&lt;br /&gt;
* gstreamer-plugins-base-devel&lt;br /&gt;
* mesa-libGLU-devel&lt;br /&gt;
* ORBit2&lt;br /&gt;
* ORBit2-devel&lt;br /&gt;
* perl-Archive-Zip&lt;br /&gt;
* perl-Crypt-SSLeay&lt;br /&gt;
* perl-Digest-MD5&lt;br /&gt;
* perl-Digest-SHA&lt;br /&gt;
* perl-libwww-perl&lt;br /&gt;
* perl-LWP-Protocol-https&lt;br /&gt;
* perl-XML-Parser&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
&lt;br /&gt;
The configure options for a release build can be found here:&lt;br /&gt;
&lt;br /&gt;
http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/4.1.3/unxlngix6/build_aoo64bit_on_centos5.sh&lt;br /&gt;
&lt;br /&gt;
== Performance results ==&lt;br /&gt;
&lt;br /&gt;
* Intel Core i7-4710HQ 2.5 GHz (8 cores)&lt;br /&gt;
* 16 GB RAM, 256 GB SSD&lt;br /&gt;
* Fedora 21 x86-64 (Kernel 4.1.13-100.fc21.x86_64, glibc 2.20-8)&lt;br /&gt;
&lt;br /&gt;
=== Trunk ===&lt;br /&gt;
&lt;br /&gt;
* Build command:&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build --all -P8 -- -P8&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 01h 05m 41s (as of 2016-10-09&lt;br /&gt;
&lt;br /&gt;
=== AOO413 branch ===&lt;br /&gt;
&lt;br /&gt;
* Build command (with P8 and only &amp;quot;de en-US fr ja pt&amp;quot; as languages):&lt;br /&gt;
  &amp;lt;code&amp;gt;$ build_aoo64bit_on_centos5.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Time for a full build: 00h 50m 32s (as of 2016-10-09)&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
              perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
              perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the cygwin interface yet because you would prefer to install them using lynx from the cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [http://nsis.sourceforge.net/Download http://nsis.sourceforge.net/Download]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Optional: Install the Mozilla Build Tools. These are needed to build the &amp;lt;b&amp;gt;nss&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Mozilla Build Tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches such as&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
== Testing build with Cygwin 64 bit ==&lt;br /&gt;
There seem to be a few difficulties in building OpenOffice using the 64 bit version of Cygwin. Perhaps they can be resolved. So this paragraph is an area to be developed as these obstacles are removed.&lt;br /&gt;
* Install Cygwin, &amp;#039;&amp;#039;&amp;#039;64bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86_64.exe link to download the most recent 64 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86_64.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
**Now, since the 64bit Cygwin seems to make it difficult for the configure script to find Visual Studio (oowintool chokes up at some point), the solution is to install a missing key in the registry:&lt;br /&gt;
**# Type &amp;quot;regedit&amp;quot; in the Start Menu or Cortana search bar and click on the &amp;quot;registry editor&amp;quot; search result (Windows 7 and up) or click the Windows button + R, type &amp;quot;regedit&amp;quot;, and hit Enter&lt;br /&gt;
**# NOTE: you may want to backup your registry before making any modifications&lt;br /&gt;
**#* In the Registry Editor dialog box, choose File &amp;gt; Export.&lt;br /&gt;
**#* Type a name for the file and select a location.&lt;br /&gt;
**#* For Export Range, select All.&lt;br /&gt;
**#* Click Save.&lt;br /&gt;
**# Navigate to the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\&lt;br /&gt;
**# If there is no &amp;quot;Setup&amp;quot; key under here, create a new subkey by the name of &amp;quot;Setup&amp;quot; and then a subkey of Setup by the name of &amp;quot;VC&amp;quot;&lt;br /&gt;
**# You should now be able to navigate to this key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC, under which you will create a new string by the name of &amp;quot;ProductDir&amp;quot; and give it a value of &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot;&lt;br /&gt;
**# Close the registry editor&lt;br /&gt;
**NOTE: perhaps &amp;#039;&amp;#039;oowintool&amp;#039;&amp;#039; needs to be looked into, so that it won&amp;#039;t choke up when it doesn&amp;#039;t find this key. Why does it choke up on 64bit cygwin and not on 32bit cygwin?&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal and follow all the steps for 32bit cygwin up to and including &amp;#039;./configure&amp;#039; with relative parameters&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
**NOTE: &amp;lt;code&amp;gt;./bootstrap&amp;lt;/code&amp;gt; seems to choke up after unpacking dmake: &amp;lt;pre&amp;gt;making and entering D:/source/aoo-trunk/main/solenv/wntmsci12.pro/misc/build/ &amp;amp;#10;unpacking /cygdrive/d/source/aoo-trunk/ext_sources/266d817492d8259a640fad075461080e-dmake-4.12.tar.bz2 &amp;amp;#10;entering dmake-4.12 &amp;amp;#10;checking build system type... ./config.guess: unable to guess system type &amp;amp;#10; &amp;amp;#10;This script, last modified 2005-07-08, has failed to recognize &amp;amp;#10;the operating system you are using. It is advised that you &amp;amp;#10;download the most up to date version of the config scripts from &amp;amp;#10; &amp;amp;#10;  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess &amp;amp;#10;and &amp;amp;#10;  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub &amp;amp;#10; &amp;amp;#10;If the version you run (./config.guess) is already up to date, please &amp;amp;#10;send the following data and any information you think might be &amp;amp;#10;pertinent to &amp;lt;config-patches@gnu.org&amp;gt; in order to provide the needed &amp;amp;#10;information to handle your system. &amp;amp;#10; &amp;amp;#10;config.guess timestamp = 2005-07-08 &amp;amp;#10; &amp;amp;#10;uname -m = x86_64 &amp;amp;#10;uname -r = 2.6.0(0.304/5/3) &amp;amp;#10;uname -s = CYGWIN_NT-10.0 &amp;amp;#10;uname -v = 2016-08-31 14:32 &amp;amp;#10; &amp;amp;#10;/usr/bin/uname -p = unknown &amp;amp;#10;/bin/uname -X     = &amp;amp;#10; &amp;amp;#10;hostinfo               = &amp;amp;#10;/bin/universe          = &amp;amp;#10;/usr/bin/arch -k       = &amp;amp;#10;/bin/arch              = x86_64 &amp;amp;#10;/usr/bin/oslevel       = &amp;amp;#10;/usr/convex/getsysinfo = &amp;amp;#10; &amp;amp;#10;UNAME_MACHINE = x86_64 &amp;amp;#10;UNAME_RELEASE = 2.6.0(0.304/5/3) &amp;amp;#10;UNAME_SYSTEM  = CYGWIN_NT-10.0 &amp;amp;#10;UNAME_VERSION = 2016-08-31 14:32 &amp;amp;#10;configure: error: cannot guess build type; you must specify one&amp;lt;/pre&amp;gt;And yet, if you try to download a more recent version of &amp;#039;&amp;#039;config.guess&amp;#039;&amp;#039; and of &amp;#039;&amp;#039;config.sub&amp;#039;&amp;#039; from github for example, then the &amp;#039;&amp;#039;./configure&amp;#039;&amp;#039; script starts to choke up and can&amp;#039;t run &amp;#039;config.sub&amp;#039;. Perhaps config.guess needs a patch?&lt;br /&gt;
[I tried using the &amp;#039;&amp;#039;&amp;#039;build&amp;#039;&amp;#039;&amp;#039; directive for the configure script to force recognition of the system, I used &amp;lt;code&amp;gt;--build=i686-pc-cygwin&amp;lt;/code&amp;gt;. The configure script recognized this parameter and this value, but &amp;lt;code&amp;gt;./bootstrap&amp;lt;/code&amp;gt; still chokes up saying it can&amp;#039;t guess the system... --[[User:Johnrdorazio|Johnrdorazio]] ([[User talk:Johnrdorazio|talk]]) 01:06, 24 September 2016 (UTC)]&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
The build guide for [https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS X] can be found on a separate page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237688</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237688"/>
		<updated>2016-09-22T22:21:24Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Configure */ Mention build scripts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant will live in ~/ant and we need to download it manually as the CentOS 5 version is too old.&lt;br /&gt;
&lt;br /&gt;
  $ cd&lt;br /&gt;
  $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 5, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
See http://svn.apache.org/viewvc/openoffice/devtools/build-scripts/ for the configure options for a release build.&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;soon to come&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
              perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
              perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the cygwin interface yet because you would prefer to install them using lynx from the cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [http://nsis.sourceforge.net/Download http://nsis.sourceforge.net/Download]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Optional: Install the Mozilla Build Tools. These are needed to build the &amp;lt;b&amp;gt;nss&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Mozilla Build Tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches such as&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
The build guide for [https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS X] can be found on a separate page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237687</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237687"/>
		<updated>2016-09-22T22:18:32Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Setup a VM */ Adjust disk size for full build&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 61440M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 60000M for /, rest swap (you will need ~55 GBytes for a full build with all languages and langpacks)&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant will live in ~/ant and we need to download it manually as the CentOS 5 version is too old.&lt;br /&gt;
&lt;br /&gt;
  $ cd&lt;br /&gt;
  $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 5, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
These are the release options:&lt;br /&gt;
&lt;br /&gt;
  ./configure   \&lt;br /&gt;
  --with-build-version=&amp;quot;$(date +&amp;quot;%Y-%m-%d %H:%M:%S (%a, %d %b %Y)&amp;quot;) - `uname -sm`&amp;quot; \&lt;br /&gt;
  --enable-verbose \&lt;br /&gt;
  --enable-category-b \&lt;br /&gt;
  --enable-crashdump=yes  \&lt;br /&gt;
  --enable-wiki-publisher  \&lt;br /&gt;
  --enable-opengl  \&lt;br /&gt;
  --enable-dbus  \&lt;br /&gt;
  --enable-gstreamer \&lt;br /&gt;
  --with-package-format=&amp;quot;rpm deb installed&amp;quot; \&lt;br /&gt;
  --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
  --with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7-source.tar.gz \&lt;br /&gt;
  --enable-bundled-dictionaries \&lt;br /&gt;
  --without-junit \&lt;br /&gt;
  --without-stlport \&lt;br /&gt;
  --with-system-stdlibs \&lt;br /&gt;
  --with-ant-home=$HOME/ant \&lt;br /&gt;
  --with-lang=&amp;quot;ast cs de el en-GB en-US es fi fr gd gl hu it ja ko nl pl pt pt-BR ru sk sl ta zh-CN zh-TW&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;soon to come&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
              perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
              perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the cygwin interface yet because you would prefer to install them using lynx from the cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to [http://nsis.sourceforge.net/Download http://nsis.sourceforge.net/Download]&lt;br /&gt;
** Download and run the installer (note that versions of NSIS &amp;gt;= 3.* are only compatible with branch 4.1.3 or later! otherwise you will have to install at most [https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/nsis-2.51-setup.exe/download NSIS 2.51]). Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Optional: Install the Mozilla Build Tools. These are needed to build the &amp;lt;b&amp;gt;nss&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Mozilla Build Tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches such as&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
The build guide for [https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS X] can be found on a separate page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237685</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237685"/>
		<updated>2016-09-21T07:24:14Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* CentOS 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 20480M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 40000M for /, rest swap&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion \&lt;br /&gt;
        ccache&lt;br /&gt;
&lt;br /&gt;
Configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant will live in ~/ant and we need to download it manually as the CentOS 5 version is too old.&lt;br /&gt;
&lt;br /&gt;
  $ cd&lt;br /&gt;
  $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Install Perl modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl and standard packages on CentOS 5, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
These are the release options:&lt;br /&gt;
&lt;br /&gt;
  ./configure   \&lt;br /&gt;
  --with-build-version=&amp;quot;$(date +&amp;quot;%Y-%m-%d %H:%M:%S (%a, %d %b %Y)&amp;quot;) - `uname -sm`&amp;quot; \&lt;br /&gt;
  --enable-verbose \&lt;br /&gt;
  --enable-category-b \&lt;br /&gt;
  --enable-crashdump=yes  \&lt;br /&gt;
  --enable-wiki-publisher  \&lt;br /&gt;
  --enable-opengl  \&lt;br /&gt;
  --enable-dbus  \&lt;br /&gt;
  --enable-gstreamer \&lt;br /&gt;
  --with-package-format=&amp;quot;rpm deb installed&amp;quot; \&lt;br /&gt;
  --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
  --with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7-source.tar.gz \&lt;br /&gt;
  --enable-bundled-dictionaries \&lt;br /&gt;
  --without-junit \&lt;br /&gt;
  --without-stlport \&lt;br /&gt;
  --with-system-stdlibs \&lt;br /&gt;
  --with-ant-home=$HOME/ant \&lt;br /&gt;
  --with-lang=&amp;quot;ast cs de el en-GB en-US es fi fr gd gl hu it ja ko nl pl pt pt-BR ru sk sl ta zh-CN zh-TW&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;soon to come&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
              perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
              perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the cygwin interface yet because you would prefer to install them using lynx from the cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to http://nsis.sourceforge.net&lt;br /&gt;
** Download and run the installer. Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Optional: Install the Mozilla Build Tools. These are needed to build the &amp;lt;b&amp;gt;nss&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Mozilla Build Tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches such as&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
The build guide for [https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS X] can be found on a separate page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237684</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237684"/>
		<updated>2016-09-21T07:22:12Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Build Perl and modules */ System Perl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 20480M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 40000M for /, rest swap&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion&lt;br /&gt;
&lt;br /&gt;
Install and configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ccache&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant will live in ~/ant&lt;br /&gt;
&lt;br /&gt;
  $ cd&lt;br /&gt;
  $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Build Perl and modules==&lt;br /&gt;
&lt;br /&gt;
We can use the system Perl on CentOS 5, see https://bz.apache.org/ooo/show_bug.cgi?id=127120&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        perl-libwww-perl \&lt;br /&gt;
        perl-Archive-Zip \&lt;br /&gt;
        perl-Digest-SHA \&lt;br /&gt;
        perl-XML-Parser \&lt;br /&gt;
        perl-Crypt-SSLeay \&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
These are the release options:&lt;br /&gt;
&lt;br /&gt;
  ./configure   \&lt;br /&gt;
  --with-build-version=&amp;quot;$(date +&amp;quot;%Y-%m-%d %H:%M:%S (%a, %d %b %Y)&amp;quot;) - `uname -sm`&amp;quot; \&lt;br /&gt;
  --enable-verbose \&lt;br /&gt;
  --enable-category-b \&lt;br /&gt;
  --enable-crashdump=yes  \&lt;br /&gt;
  --enable-wiki-publisher  \&lt;br /&gt;
  --enable-opengl  \&lt;br /&gt;
  --enable-dbus  \&lt;br /&gt;
  --enable-gstreamer \&lt;br /&gt;
  --with-package-format=&amp;quot;rpm deb installed&amp;quot; \&lt;br /&gt;
  --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
  --with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7-source.tar.gz \&lt;br /&gt;
  --enable-bundled-dictionaries \&lt;br /&gt;
  --without-junit \&lt;br /&gt;
  --without-stlport \&lt;br /&gt;
  --with-system-stdlibs \&lt;br /&gt;
  --with-ant-home=$HOME/ant \&lt;br /&gt;
  --with-perl-home=$HOME/perl5 \&lt;br /&gt;
  --with-lang=&amp;quot;ast cs de el en-GB en-US es fi fr gd gl hu it ja ko nl pl pt pt-BR ru sk sl ta zh-CN zh-TW&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;soon to come&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
              perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
              perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the cygwin interface yet because you would prefer to install them using lynx from the cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to http://nsis.sourceforge.net&lt;br /&gt;
** Download and run the installer. Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Optional: Install the Mozilla Build Tools. These are needed to build the &amp;lt;b&amp;gt;nss&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Mozilla Build Tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches such as&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
The build guide for [https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS X] can be found on a separate page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237683</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237683"/>
		<updated>2016-09-20T22:01:57Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* CentOS 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
* Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
* Let updater update ca. 380 packages. Restart.&lt;br /&gt;
* Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Note that you have to have the keys already imported to your key chain. The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
==Setup a VM==&lt;br /&gt;
&lt;br /&gt;
KVM given here as example.&lt;br /&gt;
&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 20480M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: 40000M for /, rest swap&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo yum update -y&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;$ sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup repositories and packages==&lt;br /&gt;
&lt;br /&gt;
EPEL is needed for dpkg (to build DEBs):&lt;br /&gt;
&lt;br /&gt;
  $ wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo rpm -ivh epel-release-5-4.noarch.rpm&lt;br /&gt;
  $ sudo yum update -y&lt;br /&gt;
&lt;br /&gt;
Now you can install all dependencies:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install \&lt;br /&gt;
        gcc \&lt;br /&gt;
        expat-devel \&lt;br /&gt;
        openssl-devel \&lt;br /&gt;
        autoconf \&lt;br /&gt;
        gcc-c++ \&lt;br /&gt;
        cups-devel \&lt;br /&gt;
        pam-devel \&lt;br /&gt;
        java-1.6.0-openjdk-devel \&lt;br /&gt;
        rpm-build \&lt;br /&gt;
        dpkg \&lt;br /&gt;
        gperf \&lt;br /&gt;
        freetype-devel \&lt;br /&gt;
        libX11-devel \&lt;br /&gt;
        libXt-devel \&lt;br /&gt;
        fontconfig-devel \&lt;br /&gt;
        libXrandr-devel \&lt;br /&gt;
        bison \&lt;br /&gt;
        flex \&lt;br /&gt;
        GConf2-devel \&lt;br /&gt;
        gnome-vfs2-devel \&lt;br /&gt;
        gtk2-devel \&lt;br /&gt;
        gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel \&lt;br /&gt;
        mesa-libGLU-devel \&lt;br /&gt;
        subversion&lt;br /&gt;
&lt;br /&gt;
Install and configure ccache:&lt;br /&gt;
&lt;br /&gt;
  $ sudo yum install ccache&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
&lt;br /&gt;
This leaves out Ant and Perl.&lt;br /&gt;
&lt;br /&gt;
==Download Ant==&lt;br /&gt;
&lt;br /&gt;
Ant will live in ~/ant&lt;br /&gt;
&lt;br /&gt;
  $ cd&lt;br /&gt;
  $ wget http://mirrors.nxnethosting.com/apache//ant/binaries/apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ tar xvf apache-ant-1.9.7-bin.tar.bz2&lt;br /&gt;
  $ ln -s apache-ant-1.9.7 ant&lt;br /&gt;
&lt;br /&gt;
==Build Perl and modules==&lt;br /&gt;
&lt;br /&gt;
Perl will live in ~/perl5&lt;br /&gt;
&lt;br /&gt;
  $ cd&lt;br /&gt;
  $ wget http://www.cpan.org/src/5.0/perl-5.24.0.tar.gz&lt;br /&gt;
  $ tar xvf perl-5.24.0.tar.gz&lt;br /&gt;
  $ cd perl-5.24.0&lt;br /&gt;
  $ ./Configure -des -Dprefix=$HOME/perl5&lt;br /&gt;
  $ make&lt;br /&gt;
  $ make install&lt;br /&gt;
&lt;br /&gt;
Modules will be installed via CPAN:&lt;br /&gt;
&lt;br /&gt;
  $ cd&lt;br /&gt;
  $ ~/perl5/bin/perl -MCPAN -e shell&lt;br /&gt;
&lt;br /&gt;
In the shell, give the following commands:&lt;br /&gt;
&lt;br /&gt;
  install CPAN&lt;br /&gt;
  reload cpan&lt;br /&gt;
  install Archive::Zip&lt;br /&gt;
  install XML::Parser&lt;br /&gt;
  install Digest::SHA&lt;br /&gt;
  install Crypt::SSLeay&lt;br /&gt;
  notest install LWP::Protocol::https&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
&lt;br /&gt;
These are the release options:&lt;br /&gt;
&lt;br /&gt;
  ./configure   \&lt;br /&gt;
  --with-build-version=&amp;quot;$(date +&amp;quot;%Y-%m-%d %H:%M:%S (%a, %d %b %Y)&amp;quot;) - `uname -sm`&amp;quot; \&lt;br /&gt;
  --enable-verbose \&lt;br /&gt;
  --enable-category-b \&lt;br /&gt;
  --enable-crashdump=yes  \&lt;br /&gt;
  --enable-wiki-publisher  \&lt;br /&gt;
  --enable-opengl  \&lt;br /&gt;
  --enable-dbus  \&lt;br /&gt;
  --enable-gstreamer \&lt;br /&gt;
  --with-package-format=&amp;quot;rpm deb installed&amp;quot; \&lt;br /&gt;
  --with-dmake-url=http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
  --with-epm-url=http://sourceforge.net/projects/oooextras.mirror/files/epm-3.7-source.tar.gz \&lt;br /&gt;
  --enable-bundled-dictionaries \&lt;br /&gt;
  --without-junit \&lt;br /&gt;
  --without-stlport \&lt;br /&gt;
  --with-system-stdlibs \&lt;br /&gt;
  --with-ant-home=$HOME/ant \&lt;br /&gt;
  --with-perl-home=$HOME/perl5 \&lt;br /&gt;
  --with-lang=&amp;quot;ast cs de el en-GB en-US es fi fr gd gl hu it ja ko nl pl pt pt-BR ru sk sl ta zh-CN zh-TW&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
= Fedora 21 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;soon to come&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= Fedora 19 and 20 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
              perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
              perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
= Fedora 10 and 14 =&lt;br /&gt;
&lt;br /&gt;
== Build Instructions ==&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
$ yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
              pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
              gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
              gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
== Quick start guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
         flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
         firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
         gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
         xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
         unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
         gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
         expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
$ ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
         --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
         --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
         --disable-Xaw \&lt;br /&gt;
         --disable-kde \&lt;br /&gt;
         --disable-mono \&lt;br /&gt;
         --enable-opengl --enable-ogltrans \&lt;br /&gt;
         --disable-neon \&lt;br /&gt;
         --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list:&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7:&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
== Fedora packaging ==&lt;br /&gt;
&lt;br /&gt;
=== Fedora 14 ===&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
= Windows 7, Windows 8.1, Windows 10 =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to [http://www.cygwin.com http://www.cygwin.com] and click on the setup-x86.exe link to download the most recent 32 bit version (the most recent Cygwin DLL at the moment is 2.6.0) or use [https://www.cygwin.com/setup-x86.exe this direct link]&lt;br /&gt;
**Run the installer and click through the questions&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer: click OK to close it&lt;br /&gt;
**On the page that allows you to select additional packages select: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Archive&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;zip, unzip&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;gperf, gcc-g++, bison, flex, patch, subversion, make&amp;lt;/pre&amp;gt; From the &amp;#039;&amp;#039;&amp;#039;Net&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;rsync&amp;lt;/pre&amp;gt;From the &amp;#039;&amp;#039;&amp;#039;Perl&amp;#039;&amp;#039;&amp;#039; category: &amp;lt;pre&amp;gt;perl, perl-XML-SAX-Expat, perl-Archive-Zip, perl-LWP-Protocol-https, perl-XML-parser, perl-libwww-perl, perl-Digest-SHA, perl-Net-SSLeay&amp;lt;/pre&amp;gt;If you will use git, you need in addition from the &amp;#039;&amp;#039;&amp;#039;Devel&amp;#039;&amp;#039;&amp;#039; category the packages:&amp;lt;pre&amp;gt;git, git-svn&amp;lt;/pre&amp;gt;&amp;lt;i&amp;gt;(If you prefer to install packages with a linux kind of touch, you can skip selecting the packages and instead select just the package &amp;lt;b&amp;gt;lynx&amp;lt;/b&amp;gt; (enter lynx in the Search box and select the lynx entry in the Web/Default section). You would then install the other packages from the cygwin command line using lynx as explained ahead. However, selecting the packages from the cygwin interface is recommended.)&amp;lt;/i&amp;gt;&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog.&lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
&lt;br /&gt;
::In Windows 7 and later you can just type &amp;quot;cygwin&amp;quot; into the Start Menu search bar and then click on the cygwin App. Or you can:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Type &amp;quot;C:\cygwin\Cygwin.bat&amp;quot; (if that&amp;#039;s the path you installed cygwin to)&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
:::&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the necessary packages from the cygwin interface yet because you would prefer to install them using lynx from the cygwin command line, then you should do so now. First install &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; from the Github repository:)&amp;lt;pre&amp;gt;cd /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg &amp;gt; apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;Use &amp;lt;b&amp;gt;apt-cyg&amp;lt;/b&amp;gt; to install missing cygwin packages:&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion make&amp;lt;/pre&amp;gt;(You must also provide to install the missing perl packages, for example with &amp;quot;cpan -i Archive::Zip LWP::UserAgent LWP::Protocol XML::Parser&amp;quot; etc. however there can be some dependency conflicts, the recommended method is installing the packages from the cygwin interface)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommended by Microsoft. Note: later versions of the Windows SDK will not work. AOO can not be built with MSVC 2010 or 2012 - MSVC 2008 is needed and is found in the Windows 7 SDK) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog, except when prompted with the installation path use a path that has no spaces or parentheses (e.g. &amp;quot;C:\Microsoft_SDKs\Windows\v7.0&amp;quot;), because otherwise the build process will choke on those spaces or parentheses.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcredist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe. Choose to install to a custom path, and use a path that has neither spaces nor parentheses (e.g. &amp;lt;code&amp;gt;C:\Microsoft_DirectX_SDK_June_2010&amp;lt;/code&amp;gt;), because otherwise the build will not be able to parse the path and will choke on the spaces or parentheses. &amp;lt;i&amp;gt;(If you receive an S1023 error towards the end of the installation, [https://support.microsoft.com/it-it/kb/2728613 the fix is simple]. The issue occurs because a newer version of the Visual C++ 2010 Redistributable is present on the computer. The June 2010 DirectX SDK installs version 10.0.30319 of the Visual C++ Redistributable. To resolve this issue, you must uninstall all versions of the Visual C++ 2010 Redistributable before installing the June 2010 DirectX SDK. You may have one or more of the following products installed: Visual C++ 2010 Redistributable x86, Visual C++ 2010 Redistributable x64.  You can use Add or Remove Programs in Control Panel to uninstall the products. Or, you can run the following commands from an administrator command prompt: &amp;lt;pre&amp;gt;MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} &amp;amp;#10;MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}&amp;lt;/pre&amp;gt; and then run the DirectX SDK installer. After installing the June 2010 DirectX SDK, you may then reinstall the most current version of the [http://www.microsoft.com/download/details.aspx?id=26999 Visual C++ 2010 Redistributable Package].)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Optional: Install Windows Driver Kit 7.1.0 (for enabling activex)&lt;br /&gt;
** Download [http://www.microsoft.com/en-us/download/details.aspx?id=11800 WDK 7.1.0] (is an ISO image). Cannot use later versions of Windows Driver Kit because they do not have ATL which is needed to build AOO with ActiveX. (I recommend to download using Internet Explorer, otherwise the install may fail a Windows Authenticity test, whereas this does not happen using Internet Explorer to download the ISO image.)&lt;br /&gt;
** Mount the ISO image and install.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to http://nsis.sourceforge.net&lt;br /&gt;
** Download and run the installer. Recommended to install to custom location, choose a path without any spaces (e.g. &amp;quot;C:\NSIS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Optional: Install the Mozilla Build Tools. These are needed to build the &amp;lt;b&amp;gt;nss&amp;lt;/b&amp;gt; (&amp;quot;Network Security Services&amp;quot;) module. Download from [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/ here]. Install to a custom path without any spaces, such as &amp;lt;code&amp;gt;C:\mozilla-build&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release:&lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed the subversion package from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*&amp;lt;i&amp;gt;(If you haven&amp;#039;t installed git and git-svn from the cygwin interface, please do so now by re-running the cygwin installer, or if you used lynx and apt-cyg then:)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it makes for an easy reference):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** For those paths that do have spaces, use the cygpath tool to get a shortened version without any spaces, which you can then use in the configuration directives without any trouble (adapt paths as necessary):&amp;lt;pre&amp;gt;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Java\jdk1.8.0_73&amp;quot; &amp;amp;#10;C:/PROGRA~2/Java/JDK18~1.0_7 &amp;amp;#10;$ cygpath -m -s &amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC&amp;quot; &amp;amp;#10;C:/PROGRA~2/MI1DCA~1.0/VC&amp;lt;/pre&amp;gt;Run configure (again adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Microsoft_SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-jdk-home=&amp;quot;C:/PROGRA~2/Java/JDK18~1.0_7&amp;quot; \&amp;amp;#10;    --with-csc-path=&amp;quot;C:/Windows/Microsoft.NET/Framework/v3.5&amp;quot; \&amp;amp;#10;    --with-cl-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC&amp;quot; \&amp;amp;#10;    --with-asm-home=&amp;quot;C:/PROGRA~2/MI1DCA~1.0/VC/bin&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;https://sourceforge.net/projects/oooextras.mirror/files/epm-3.7.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --disable-nss-module \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have installed the optional DirectX SDK then you can add the switch:&amp;lt;pre&amp;gt;    --with-directx-home=&amp;quot;C:/Microsoft_DirectX_SDK_June_2010&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Windows Driver Kit 7.1.0 and would like to build with ATL and ActiveX functionality then remove the &amp;lt;code&amp;gt;--disable-activex&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;--disable-atl&amp;lt;/code&amp;gt; directives, and add the atl home directives: &amp;lt;pre&amp;gt;    --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \&amp;amp;#10;    --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \&amp;amp;#10;    --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \&amp;amp;#10;    --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386&amp;lt;/pre&amp;gt;If you have installed NSIS you can use the relative directive &amp;lt;pre&amp;gt;    --with-nsis-path=&amp;quot;C:/NSIS&amp;quot;&amp;lt;/pre&amp;gt;If you have installed Mozilla Build Tools you can use the relative switch:&amp;lt;pre&amp;gt;    --with-mozilla-build=&amp;quot;/cygdrive/d/mozilla-build&amp;quot;&amp;lt;/pre&amp;gt;You may also enable a few more switches such as&amp;lt;pre&amp;gt;    --enable-win-x64-shellext \&amp;amp;#10;    --enable-wiki-publisher \&amp;amp;#10;    --enable-category-b \&amp;amp;#10;    --enable-bundled-dictionaries&amp;lt;/pre&amp;gt;and if you would like to build for different locales you can use the lang switch (in this example, for English United States and for Italian):&amp;lt;pre&amp;gt;    --with-lang=&amp;quot;en-US it&amp;quot;&amp;lt;/pre&amp;gt;If you have copied over the dbghelp.dll and would like these extra features you can enable the debug switch:&amp;lt;pre&amp;gt;    --enable-dbgutil&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish. You may want to experiment with the -P options for multi process builds to reduce the build time. &amp;lt;pre&amp;gt;build --all -P&amp;lt;m&amp;gt; -- -P&amp;lt;n&amp;gt;&amp;lt;/pre&amp;gt; tells build to use &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; processes (build up to &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; modules in parallel) and &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; threads for each module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/Apache_OpenOffice/msi/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=Mac OS X=&lt;br /&gt;
The build guide for [https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS X] can be found on a separate page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237619</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237619"/>
		<updated>2016-09-04T21:00:38Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* CentOS 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
*Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
*Let updater update ca. 380 packages. Restart.&lt;br /&gt;
*Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
Note that you have to have the keys already imported to your key chain.&lt;br /&gt;
The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
| &lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
* Setup a VM (KVM given here as example):&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 20480M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: one 20000M for /, rest swap&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
* Install dependencies from CentOS repository&lt;br /&gt;
  $ sudo yum install subversion autoconf tcsh perl-Archive-Zip gcc gcc-c++ cups-devel pam-devel java-1.7.0-openjdk-devel gperf freetype-devel gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel gnome-vfs2-devel ant make tar rpm-build flex perl-XML-Parser ORBit2-devel&lt;br /&gt;
* Install and configure ccache:&lt;br /&gt;
  $ sudo yum install ccache&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
* This leaves out four packages (&amp;#039;&amp;#039;&amp;#039;to be handled later&amp;#039;&amp;#039;&amp;#039;):&lt;br /&gt;
** junit4&lt;br /&gt;
** perl-LWP-UserAgent-Determined&lt;br /&gt;
** perl-Digest-SHA → This one is available on EPEL (&amp;lt;code&amp;gt;sudo yum install epel-release &amp;amp;&amp;amp; sudo yum install perl-Digest-SHA&amp;lt;/code&amp;gt;) but it is not worth to do that for a single module, as other modules must be fixed anyway&lt;br /&gt;
** perl-LWP-Protocol-https&lt;br /&gt;
* You can still configure with&lt;br /&gt;
  $ ./configure --enable-category-b --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2 --with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz --enable-bundled-dictionaries --with-lang=&amp;quot;en it&amp;quot; --without-stlport --with-package-format=&amp;quot;installed rpm&amp;quot; --without-junit&lt;br /&gt;
* Bootstrap will fail&lt;br /&gt;
** Error: Can&amp;#039;t locate object method &amp;quot;show_progress&amp;quot; via package &amp;quot;LWP::UserAgent&amp;quot; at .../main/solenv/bin/modules/ExtensionsLst.pm line 484.&lt;br /&gt;
** Solution in http://markmail.org/message/mnqv3ncast7754zw does not work: Can&amp;#039;t locate object method &amp;quot;upgrade&amp;quot; via package&lt;br /&gt;
** Discussion at https://s.apache.org/6pWq is promising but incomplete&lt;br /&gt;
* Once one works around bootstrap (for example, using a local package cache) build succeeds.&lt;br /&gt;
&lt;br /&gt;
=Windows 7, Windows 8.1=&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to http://cygwin.com.&lt;br /&gt;
**Click on the setup.exe link (most recent Cygwin DLL at the moment is 1.7.16-1) to download the installer and run it.&lt;br /&gt;
**Click through the questions.&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server.&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer.&lt;br /&gt;
**Click OK to close it.&lt;br /&gt;
**On the page that allows you to select additional packages just select wget (enter wget in the Search box and select the wget enty in the Web/Default section.&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog. &lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
::One way to do this is:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Enter c:\cygwin\Cygwin.bat&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
  &lt;br /&gt;
* Prepare to install missing cygwin packages by installing apt-cyg from googlecode.com&amp;lt;pre&amp;gt;cd to /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Use apt-cyg to install missing cygwin packages&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion&amp;lt;/pre&amp;gt;or alternatively run setup and select the packages&amp;lt;br /&amp;gt;If you will use git, you need in addition the packages&amp;lt;pre&amp;gt;git git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommend by Microsoft) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcrestist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to http://nsis.sourceforge.net&lt;br /&gt;
** Download and run the installer.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release : &lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*Get subversion (only first time)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*Get git and git-svn (only first time)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it keeps the following lines short):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** Run configure (adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-directx-home=&amp;quot;C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;http://www.msweet.org/files/project2/epm-3.7-source.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have not installed the optional DirectX SDK then remove the &amp;lt;code&amp;gt;--with-directx-home switch&amp;lt;/code&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish.&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/archive/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=[https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS/X]=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237618</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237618"/>
		<updated>2016-09-04T20:59:54Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* CentOS 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
*Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
*Let updater update ca. 380 packages. Restart.&lt;br /&gt;
*Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
Note that you have to have the keys already imported to your key chain.&lt;br /&gt;
The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
| &lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
* Setup a VM (KVM given here as example):&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 20480M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: one 20000M for /, rest swap&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
* Install dependencies from CentOS repository&lt;br /&gt;
  $ sudo yum install subversion autoconf tcsh perl-Archive-Zip gcc gcc-c++ cups-devel pam-devel java-1.7.0-openjdk-devel gperf freetype-devel gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel gnome-vfs2-devel ant make tar rpm-build flex perl-XML-Parser ORBit2-devel&lt;br /&gt;
* Install and configure ccache:&lt;br /&gt;
  $ sudo yum install ccache&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
* This leaves out four packages (&amp;#039;&amp;#039;&amp;#039;to be handled later&amp;#039;&amp;#039;&amp;#039;):&lt;br /&gt;
** junit4&lt;br /&gt;
** perl-LWP-UserAgent-Determined&lt;br /&gt;
** perl-Digest-SHA → This one is available on EPEL (&amp;lt;code&amp;gt;sudo yum install epel-release &amp;amp;&amp;amp; sudo yum install perl-Digest-SHA&amp;lt;/code&amp;gt;) but it is not worth to do that for a single module, as other modules must be fixed anyway&lt;br /&gt;
&lt;br /&gt;
** perl-LWP-Protocol-https&lt;br /&gt;
* You can still configure with&lt;br /&gt;
  $ ./configure --enable-category-b --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2 --with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz --enable-bundled-dictionaries --with-lang=&amp;quot;en it&amp;quot; --without-stlport --with-package-format=&amp;quot;installed rpm&amp;quot; --without-junit&lt;br /&gt;
* Bootstrap will fail&lt;br /&gt;
** Error: Can&amp;#039;t locate object method &amp;quot;show_progress&amp;quot; via package &amp;quot;LWP::UserAgent&amp;quot; at .../main/solenv/bin/modules/ExtensionsLst.pm line 484.&lt;br /&gt;
** Solution in http://markmail.org/message/mnqv3ncast7754zw does not work: Can&amp;#039;t locate object method &amp;quot;upgrade&amp;quot; via package&lt;br /&gt;
** Discussion at https://s.apache.org/6pWq is promising but incomplete&lt;br /&gt;
* Once one works around bootstrap (for example, using a local package cache) build succeeds.&lt;br /&gt;
&lt;br /&gt;
=Windows 7, Windows 8.1=&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to http://cygwin.com.&lt;br /&gt;
**Click on the setup.exe link (most recent Cygwin DLL at the moment is 1.7.16-1) to download the installer and run it.&lt;br /&gt;
**Click through the questions.&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server.&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer.&lt;br /&gt;
**Click OK to close it.&lt;br /&gt;
**On the page that allows you to select additional packages just select wget (enter wget in the Search box and select the wget enty in the Web/Default section.&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog. &lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
::One way to do this is:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Enter c:\cygwin\Cygwin.bat&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
  &lt;br /&gt;
* Prepare to install missing cygwin packages by installing apt-cyg from googlecode.com&amp;lt;pre&amp;gt;cd to /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Use apt-cyg to install missing cygwin packages&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion&amp;lt;/pre&amp;gt;or alternatively run setup and select the packages&amp;lt;br /&amp;gt;If you will use git, you need in addition the packages&amp;lt;pre&amp;gt;git git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommend by Microsoft) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcrestist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to http://nsis.sourceforge.net&lt;br /&gt;
** Download and run the installer.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release : &lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*Get subversion (only first time)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*Get git and git-svn (only first time)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it keeps the following lines short):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** Run configure (adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-directx-home=&amp;quot;C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;http://www.msweet.org/files/project2/epm-3.7-source.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have not installed the optional DirectX SDK then remove the &amp;lt;code&amp;gt;--with-directx-home switch&amp;lt;/code&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish.&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/archive/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=[https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS/X]=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237617</id>
		<title>Documentation/Building Guide AOO/Step by step</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Documentation/Building_Guide_AOO/Step_by_step&amp;diff=237617"/>
		<updated>2016-09-04T20:57:26Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Add notes for CentOS 5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Step by step building guides for different platforms}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is intended as a collection of simple step-by-step recipes to build Apache OpenOffice from source code.  A more thorough explanation of what the individual steps do and why they are necessary can be found in the [[Documentation/Building_Guide_AOO|building guide]].&lt;br /&gt;
=Ubuntu 14.04=&lt;br /&gt;
The basic building steps under Ubuntu 12.04 (see below) are to be followed in Ubuntu 14.04 as well; however, there are some minor build issues that any developer, using this OS, needs to be aware of, if he gets stuck while building. The following is the list of issues, with their fixes, that a developer may face with:&lt;br /&gt;
&lt;br /&gt;
* Issue 124712 (build broken in svl); see the link https://issues.apache.org/ooo/show_bug.cgi?id=124712 for detailed information.&lt;br /&gt;
If you are building trunk, the patch is already applied; if you are building from a release tag or tarball, the patch needs to be applied for all releases &amp;lt;= 4.1.1.&lt;br /&gt;
&lt;br /&gt;
* Issue 125475; see the link https://issues.apache.org/ooo/show_bug.cgi?id=125475 for detailed information. This happens if you explicitly upgraded your GCC and related tools to version 4.9; it will not appear if you use GCC 4.8.x.&lt;br /&gt;
&lt;br /&gt;
As the BZ says, it is because of buggy toolchain g++4.9. So for now in Ubuntu Linux 14.04, build the source using g++4.8.2, gcc4.8.2; these are the default compilers in Ubuntu Linux 14.04 anyway; please check it using the following commands:&lt;br /&gt;
  g++ -v&lt;br /&gt;
  gcc -v&lt;br /&gt;
if not, you&amp;#039;ve to download them.&lt;br /&gt;
  sudo apt-get install g++-4.8&lt;br /&gt;
  cd /usr/bin&lt;br /&gt;
  rm gcc&lt;br /&gt;
  rm g++&lt;br /&gt;
  ln -s gcc-4.8 gcc&lt;br /&gt;
  ln -s g++-4.8 g++&lt;br /&gt;
&lt;br /&gt;
* Failed to find ./solver/420/unxlngx6.pro/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 error.&lt;br /&gt;
&lt;br /&gt;
  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/&lt;br /&gt;
  rm ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
  ln -s ./solver/420/unxlngx6.pro/lib/libstdc++.so.6.0.20 ./solver/420/unxlngx6.pro/lib/libstdc++.so.6&lt;br /&gt;
&lt;br /&gt;
* No such file or directory - connectivity/virtualdbtools.hxx while building svx.&lt;br /&gt;
&lt;br /&gt;
if you get an error like this, then that means connectivity is not built properly. Build connectivity using build --all:connectivity and this error will go away.&lt;br /&gt;
&lt;br /&gt;
=Ubuntu 12.04=&lt;br /&gt;
&lt;br /&gt;
*Setup VirtualBox with Ubuntu 12.04 64 bit on Windows7 64bit host.  A native installation is of course fine, too.&lt;br /&gt;
*Let updater update ca. 380 packages. Restart.&lt;br /&gt;
*Get the source.  You can start with the source release or by checking out from SVN:&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Source release&lt;br /&gt;
! SVN&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Build from source release if you want to build OpenOffice once but don&amp;#039;t want to do any development.&lt;br /&gt;
| Build from SVN if you want to development work with OpenOffice.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
* Download AOO 4.1.1 source tarball from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Optional: Download signature from&lt;br /&gt;
http://people.apache.org/~jsc/developer-snapshots/r1372282/src/aoo-4.1.1-incubating-src.tar.bz2.asc&lt;br /&gt;
&lt;br /&gt;
and verify the source tarball with&lt;br /&gt;
 gpg --verify aoo-4.1.1-incubating-src.tar.bz2.asc \&lt;br /&gt;
              aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
Note that you have to have the keys already imported to your key chain.&lt;br /&gt;
The keys can be found on the download page:&lt;br /&gt;
&lt;br /&gt;
http://www.apache.org/dist/incubator/ooo/KEYS&lt;br /&gt;
&lt;br /&gt;
* Unpack source:&lt;br /&gt;
  cd /tmp&lt;br /&gt;
  tar -xjf ~/Downloads/aoo-4.1.1-incubating-src.tar.bz2&lt;br /&gt;
  cd aoo-4.1.1/main&lt;br /&gt;
| &lt;br /&gt;
* Start with creating a parent directory for the source code.  Don&amp;#039;t use &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; because that is deleted on every boot:&lt;br /&gt;
  sudo mkdir /source&lt;br /&gt;
  sudo chown &amp;lt;your-user-name&amp;gt; /source&lt;br /&gt;
  cd /source&lt;br /&gt;
* Install subversion and checkout the source:&lt;br /&gt;
  sudo apt-get install subversion&lt;br /&gt;
  svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&lt;br /&gt;
  cd aoo-trunk/main&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Install requirements (this will also install packages that are not listed):&lt;br /&gt;
  sudo apt-get install g++ gcc bison flex libarchive-zip-perl libcups2-dev \&lt;br /&gt;
       libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev \&lt;br /&gt;
       libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev \&lt;br /&gt;
       junit junit4 libidl-dev liborbit2-dev openjdk-6-jdk libwww-perl \&lt;br /&gt;
       libxml-parser-perl autoconf libssl-dev&lt;br /&gt;
&lt;br /&gt;
* Run autoconf to generate configure script:&lt;br /&gt;
  autoconf&lt;br /&gt;
&lt;br /&gt;
* Configure (see the building guide section on [[Documentation/Building_Guide_AOO#Configuration_and_bootstrapping|configuration]] for further options):&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2 \&lt;br /&gt;
      --with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz \&lt;br /&gt;
      --disable-odk \&lt;br /&gt;
      --disable-binfilter&lt;br /&gt;
&lt;br /&gt;
* Finish configuration and download missing tarballs and extensions:&lt;br /&gt;
  ./bootstrap&lt;br /&gt;
&lt;br /&gt;
* Include the configured environment:&lt;br /&gt;
  source LinuxX86-64Env.Set.sh&lt;br /&gt;
&lt;br /&gt;
* Build:&lt;br /&gt;
  cd instsetoo_native/&lt;br /&gt;
  build --all&lt;br /&gt;
This may take a while to complete.  Several hours are not uncommon.  To speed things up you may want to run &amp;#039;build&amp;#039; like this&lt;br /&gt;
  build --all -P&amp;lt;n&amp;gt; -- -P&amp;lt;n&amp;gt;&lt;br /&gt;
to start a parallel build.  Replace &amp;lt;n&amp;gt; with the number of CPU cores. &lt;br /&gt;
&lt;br /&gt;
* Install:&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/*.deb&lt;br /&gt;
  sudo dpkg -i unxlngx6.pro/Apache_OpenOffice/deb/install/en-US/DEBS/desktop-integration/openoffice4.2-debian-menus_4.2-9800_all.deb&lt;br /&gt;
&lt;br /&gt;
* Start Apache OpenOffice:&lt;br /&gt;
  /opt/openoffice4/program/soffice&lt;br /&gt;
&lt;br /&gt;
=CentOS 5=&lt;br /&gt;
&lt;br /&gt;
CentOS 5 is our reference environment for build through the 4.1.x series. As it is a very old environment, it is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommended to use it for your first build. But is important to document how to build on CentOS 5 since this is where the release through 4.1.x are built.&lt;br /&gt;
&lt;br /&gt;
* Setup a VM (KVM given here as example):&lt;br /&gt;
  $ wget -O /tmp/CentOS-5.iso http://mi.mirror.garr.it/mirrors/CentOS/5.11/isos/x86_64/CentOS-5.11-x86_64-netinstall.iso&lt;br /&gt;
  $ fallocate -l 20480M /vms/centos5_64.img&lt;br /&gt;
  $ sudo virt-install --boot cdrom --name centos5_64 --memory 8192 -f /vms/centos5_64.img --cdrom /tmp/CentOS-5.iso&lt;br /&gt;
* Install the system; installation will start with the above command and use the following values when asked:&lt;br /&gt;
** Installation method: HTTP with website mirror.centos.org and CentOS directory /centos/5/os/x86_64&lt;br /&gt;
** Partitioning: one 20000M for /, rest swap&lt;br /&gt;
** Setup Base system only&lt;br /&gt;
* Reboot the VM and configure it&lt;br /&gt;
** You&amp;#039;ll probably want a non-root user with sudo access and you may want to disable some services.&lt;br /&gt;
* Install dependencies from CentOS repository&lt;br /&gt;
  $ sudo yum install subversion autoconf tcsh perl-Archive-Zip gcc gcc-c++ cups-devel pam-devel java-1.7.0-openjdk-devel gperf freetype-devel gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel gnome-vfs2-devel ant make tar rpm-build flex perl-XML-Parser ORBit2-devel&lt;br /&gt;
* Install and configure ccache:&lt;br /&gt;
  $ sudo yum install ccache&lt;br /&gt;
  $ ccache -M 2G&lt;br /&gt;
* This leaves out four packages (&amp;#039;&amp;#039;&amp;#039;to be handled later&amp;#039;&amp;#039;&amp;#039;):&lt;br /&gt;
** junit4&lt;br /&gt;
** perl-LWP-UserAgent-Determined&lt;br /&gt;
** perl-Digest-SHA&lt;br /&gt;
** perl-LWP-Protocol-https&lt;br /&gt;
* You can still configure with&lt;br /&gt;
  $ ./configure --enable-category-b --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2 --with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz --enable-bundled-dictionaries --with-lang=&amp;quot;en it&amp;quot; --without-stlport --with-package-format=&amp;quot;installed rpm&amp;quot; --without-junit&lt;br /&gt;
* Bootstrap will fail&lt;br /&gt;
** Error: Can&amp;#039;t locate object method &amp;quot;show_progress&amp;quot; via package &amp;quot;LWP::UserAgent&amp;quot; at .../main/solenv/bin/modules/ExtensionsLst.pm line 484.&lt;br /&gt;
** Solution in http://markmail.org/message/mnqv3ncast7754zw does not work: Can&amp;#039;t locate object method &amp;quot;upgrade&amp;quot; via package&lt;br /&gt;
** Discussion at https://s.apache.org/6pWq is promising but incomplete&lt;br /&gt;
&lt;br /&gt;
=Windows 7, Windows 8.1=&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Complete requirements found at [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#General_Build_Requirements General Build Requirements] and [http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows Building on Windows].&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
This is a &amp;#039;&amp;#039;&amp;#039;sample&amp;#039;&amp;#039;&amp;#039; step-by-step guide - check the complete requirements and report on dev@openoffice.apache.org, if problems with this step-by-step guide occurs.&lt;br /&gt;
&lt;br /&gt;
*Install cygwin, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**Browse to http://cygwin.com.&lt;br /&gt;
**Click on the setup.exe link (most recent Cygwin DLL at the moment is 1.7.16-1) to download the installer and run it.&lt;br /&gt;
**Click through the questions.&lt;br /&gt;
**On the &amp;quot;Choose A Download Site&amp;quot; select a nearby download server.&lt;br /&gt;
**Expect a &amp;quot;Setup Alert&amp;quot; dialog box on the first cygwin install on the computer.&lt;br /&gt;
**Click OK to close it.&lt;br /&gt;
**On the page that allows you to select additional packages just select wget (enter wget in the Search box and select the wget enty in the Web/Default section.&lt;br /&gt;
**Click Next to finish package selection.&lt;br /&gt;
**Click Next to resolve dependencies.&lt;br /&gt;
**After installation is finished click the Finish button to close the dialog. &lt;br /&gt;
&lt;br /&gt;
*Start cygwin bash in a terminal&lt;br /&gt;
::One way to do this is:&lt;br /&gt;
::*Press WindowsKey-R&lt;br /&gt;
::*Enter c:\cygwin\Cygwin.bat&lt;br /&gt;
::*Hit Return.&lt;br /&gt;
&lt;br /&gt;
* Install Java, &amp;#039;&amp;#039;&amp;#039;32bit version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
::Choose between JDK or OpenJDK. Versions 1.7 and 1.8 are known to work.&lt;br /&gt;
::(We need the 32 bit version because JNI requires the JVM&amp;#039;s bitness to match the C/C++ bitness).&lt;br /&gt;
&lt;br /&gt;
* Install Ant&lt;br /&gt;
**Browse to http://ant.apache.org/bindownload.cgi&lt;br /&gt;
**Chose a mirror near you.&lt;br /&gt;
**Download the zip archive (currently that is apache-ant-1.8.4-bin.zip).&lt;br /&gt;
**Open downloaded archive in file explorer and unzip it to a location of your choice, eg &amp;lt;code&amp;gt;c:\&amp;lt;/code&amp;gt;.  Note that &amp;lt;code&amp;gt;C:\Program Files (x86)&amp;lt;/code&amp;gt; will not work due to problems of quoting the spaces and parentheses.&lt;br /&gt;
  &lt;br /&gt;
* Prepare to install missing cygwin packages by installing apt-cyg from googlecode.com&amp;lt;pre&amp;gt;cd to /cygdrive/c/temp&amp;lt;/pre&amp;gt;(or any other temporary directory of your choice)&amp;lt;pre&amp;gt;wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg&amp;amp;#10;chmod +x apt-cyg&amp;amp;#10;mv apt-cyg /usr/local/bin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Use apt-cyg to install missing cygwin packages&amp;lt;pre&amp;gt;apt-cyg install perl zip unzip gperf autoconf rsync gcc-g++ bison flex patch subversion&amp;lt;/pre&amp;gt;or alternatively run setup and select the packages&amp;lt;br /&amp;gt;If you will use git, you need in addition the packages&amp;lt;pre&amp;gt;git git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replace symlinked awk with copy of gawk.exe:&amp;lt;pre&amp;gt;rm /usr/bin/awk&amp;amp;#10;mv /usr/bin/gawk.exe /usr/bin/awk.exe&amp;lt;/pre&amp;gt;Note that if the &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; command fails then the &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; is not necessary.&lt;br /&gt;
    &lt;br /&gt;
* Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5. SP1 (recommend by Microsoft) &lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?id=3138.&lt;br /&gt;
** Download winsdk_web.exe and run the web installer.  You can use the default values in the installation dialog.&lt;br /&gt;
** Alternatively download the iso image http://www.microsoft.com/en-us/download/details.aspx?id=18950. Burn it to a dvd or unzip it.&lt;br /&gt;
&lt;br /&gt;
* Download MS Visual C++ 2008 SP1 Redistributable Package (x86)&lt;br /&gt;
** http://www.microsoft.com/en-us/download/details.aspx?id=26368 ( There have been security updates, which are not included in older versions.)&lt;br /&gt;
**Download files vcredist_x86.exe and vcrestist_x64.exe&amp;lt;br /&amp;gt;  If you download the most actual version of Apache OpenOffice and unpack it, you will find the files vcredist_x86.exe and vcredist_x64.exe in folder redist. You can use them as well.&lt;br /&gt;
&lt;br /&gt;
* Optional: Install DirectX SDK (for graphics hardware support in the slide show)&lt;br /&gt;
** Browse to http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;amp;id=6812&lt;br /&gt;
** Download and run DXSDK_Jun10.exe&lt;br /&gt;
&lt;br /&gt;
* Optional: Install NSIS installer (for creating the EXE installer)&lt;br /&gt;
** Browse to http://nsis.sourceforge.net&lt;br /&gt;
** Download and run the installer.&lt;br /&gt;
&lt;br /&gt;
* Get AOO source code. You can use the source release or check out from SVN. Build from source release if you want to build OpenOffice once but don&amp;#039;t want to contribute patches. If you will contribute patches, you need to generate them against an actual version of trunk. In this case check out from SVN to be able to rebase before generating patches. You can work with subversion or with git-svn. Do not use a tool that changes line endings, such as the default configuration of TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
::; Source release : &lt;br /&gt;
::* Browse to http://www.openoffice.org/download/other.html#tested-sdk and locate the table row that starts with &amp;quot;Source code&amp;quot;&lt;br /&gt;
::* Download source code in an archive format of your choice (note that tar.bz2 is typically smaller than tar.gz and zip)&lt;br /&gt;
::* Optional: Verify the archive - following given link or instructions.&lt;br /&gt;
::* Unpack source (in cygwin-terminal). Use the file name exactly as downloaded.&amp;lt;pre&amp;gt;cd /tmp&amp;amp;#10;tar -xjf &amp;lt;download-location&amp;gt;/&amp;lt;downloaded-source-release.tar.bz2&amp;gt;&amp;amp;#10;cd &amp;lt;unpacked-source&amp;gt;/main&amp;amp;#10;&amp;lt;/pre&amp;gt;Do not use Windows unpacker, they might cause access right problems. &lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using subversion :&lt;br /&gt;
::*Get subversion (only first time)&amp;lt;pre&amp;gt;apt-cyg install subversion&amp;lt;/pre&amp;gt; &lt;br /&gt;
::*Start with creating a parent directory for the source code: &amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;svn co https://svn.apache.org/repos/asf/openoffice/trunk aoo-trunk&amp;amp;#10;cd aoo-trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::; Checkout from SVN using git-svn :&lt;br /&gt;
::*Get git and git-svn (only first time)&amp;lt;pre&amp;gt;apt-cyg install git git-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Get the actual revision number from http://svn.apache.org/viewvc/OpenOffice/trunk/, e.g. 1234567&lt;br /&gt;
::*Create an empty directory and change to it, e.g.&amp;lt;pre&amp;gt;mkdir /cygdrive/c/source&amp;amp;#10;cd /cygdrive/c/source&amp;lt;/pre&amp;gt;&lt;br /&gt;
::*Check out source from Apache SVN repository&amp;lt;pre&amp;gt;git svn clone --revision 1234567:HEAD https://svn.apache.org/repos/asf/openoffice/trunk&amp;amp;#10;cd trunk/main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remember the source path (this is optional, it keeps the following lines short):&amp;lt;pre&amp;gt;SourceMain=`pwd`&amp;lt;/pre&amp;gt; [Why? I have not used it. [[User:Regina|Regina]] ([[User talk:Regina|talk]]) 21:42, 24 February 2013 (UTC)]&lt;br /&gt;
:[Added explanation above [[User:Andre|Andre]]]&lt;br /&gt;
&lt;br /&gt;
* Optional: Get dbghelp.dll (for using the &amp;lt;code&amp;gt;--enable-dbgutil&amp;lt;/code&amp;gt; configure option)&lt;br /&gt;
** This dll is part of MS Visual Studio. If you do not have it installed, download and install &amp;quot;Visual Studio Community&amp;quot; from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx &lt;br /&gt;
** Copy file to &amp;lt;code&amp;gt;main/external/dbghelp&amp;lt;/code&amp;gt;. Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/dbghelp.dll $SourceMain/external/dbghelp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Copy vcredist_x86.exe and vcredist_x64.exe (see above) to main/external/vcredist.&lt;br /&gt;
** Use Windows file manager or in cygwin terminal&amp;lt;pre&amp;gt;cp &amp;lt;download-location&amp;gt;/vcredist_x86.exe $SourceMain/external/vcredist&amp;amp;#10;cp &amp;lt;download-location&amp;gt;/vcredist_x64.exe $SourceMain/external/vcredist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get GDI+ redistributable.&lt;br /&gt;
**Browse to http://www.microsoft.com/en-us/download/details.aspx?id=18909&lt;br /&gt;
**Download WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Run WindowsXP-KB975337-x86-ENU.exe&lt;br /&gt;
**Enter a temporary path (eg c:\temp\gdiplus) in the dialog and click OK to extract files&lt;br /&gt;
**Copy gdiplus.dll to main/external&amp;lt;pre&amp;gt;cp /cygdrive/c/temp/gdiplus/asms/10/msft/windows/gdiplus/gdiplus.dll $SourceMain/external/gdiplus/&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Remove the temporary path&amp;lt;pre&amp;gt;rm -fr /cygdrive/c/temp/gdiplus&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Get msvcr100.dll:&amp;lt;pre&amp;gt;cp /cygdrive/c/Windows/System32/msvcr100.dll $SourceMain/external/msvcp100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are in the main source directory:&amp;lt;pre&amp;gt;cd $SourceMain&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
* Run autoconf to create the configure script:&amp;lt;pre&amp;gt;autoconf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Call configure&lt;br /&gt;
** Run configure (adapt paths as necessary)&amp;lt;pre&amp;gt;SDK_PATH=&amp;quot;/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0&amp;quot;&amp;amp;#10;./configure \&amp;amp;#10;    --with-frame-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-psdk-home=&amp;quot;$SDK_PATH&amp;quot; \&amp;amp;#10;    --with-midl-path=&amp;quot;$SDK_PATH/bin&amp;quot; \&amp;amp;#10;    --with-directx-home=&amp;quot;C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)&amp;quot; \&amp;amp;#10;    --with-ant-home=&amp;quot;/cygdrive/c/apache-ant-1.8.4&amp;quot; \&amp;amp;#10;    --with-dmake-url=&amp;quot;http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2&amp;quot; \&amp;amp;#10;    --with-epm-url=&amp;quot;http://www.msweet.org/files/project2/epm-3.7-source.tar.gz&amp;quot; \&amp;amp;#10;    --disable-pch \&amp;amp;#10;    --disable-atl \&amp;amp;#10;    --disable-activex \&amp;amp;#10;    --without-junit&amp;lt;/pre&amp;gt;If you have not installed the optional DirectX SDK then remove the &amp;lt;code&amp;gt;--with-directx-home switch&amp;lt;/code&amp;gt;&lt;br /&gt;
*Finish configuration and download missing external source tarballs and extensions&amp;lt;pre&amp;gt;./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Include the configured environment&amp;lt;pre&amp;gt;source winenv.set.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Build&amp;lt;pre&amp;gt;cd instsetoo_native/&amp;amp;#10;build --all&amp;lt;/pre&amp;gt;Depending on your computer this will take one or more hours to finish.&lt;br /&gt;
&lt;br /&gt;
* Install&amp;lt;br/&amp;gt;There are three options:&lt;br /&gt;
*# Regular install with integration into Windows.&amp;lt;br/&amp;gt;This allows only one instance of AOO to be installed.&lt;br /&gt;
*#* Start setup.exe and click through dialog:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Apache OpenOffice can be started via the Windows start menu.&lt;br /&gt;
*# Install without integration into Windows.&amp;lt;br/&amp;gt;This allows several instance of AOO, based on the same version, to be installed side by side.&amp;lt;br/&amp;gt;It still requires Administrator permissions.&lt;br /&gt;
*#* Start &amp;lt;code&amp;gt;setup.exe&amp;lt;/code&amp;gt; with option &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;$SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Enter an installation path into the dialog and click through the dialog to finish installation.&lt;br /&gt;
*#* Start AOO by running&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;installation-path&amp;gt;/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*# Unpack archive without installation.&amp;lt;br/&amp;gt;This does not require Administrator permissions&lt;br /&gt;
*#* Go to installation directory:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;cd &amp;lt;installation-target&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Unzip archive:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;unzip $SourceMain/instsetoo_native/wntmsci12.pro/OpenOffice/archive/install/en-US/Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US.zip&amp;lt;/pre&amp;gt;&lt;br /&gt;
*#* Start AOO by running:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;./Apache_OpenOffice_4.0.1_Win_x86_install-arc_en-US/program/soffice.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
::: (Change the version number in the file name to match the version you built)&lt;br /&gt;
&lt;br /&gt;
=[https://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Mac OS/X]=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]][[Category:Development]][[Category:Porting]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Fedora_Build_Instructions&amp;diff=237351</id>
		<title>Fedora Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Fedora_Build_Instructions&amp;diff=237351"/>
		<updated>2016-02-20T09:01:59Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Fedora 19 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== About Fedora ===&lt;br /&gt;
&lt;br /&gt;
http://www.fedoraproject.org&lt;br /&gt;
&lt;br /&gt;
=== Build Instructions ===&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 (works on Fedora 20 too) ===&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
             pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
             gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
             gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
             perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
             perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
=== Fedora 10 (works on Fedora 14 too) ===&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
             pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
             gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
             gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
=== Quick start guide ===&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
        flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
        firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
        xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
        unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
        gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
        expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
 ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
        --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
        --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
        --disable-Xaw \&lt;br /&gt;
        --disable-kde \&lt;br /&gt;
        --disable-mono \&lt;br /&gt;
        --enable-opengl --enable-ogltrans \&lt;br /&gt;
        --disable-neon \&lt;br /&gt;
        --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
=== Fedora packaging ===&lt;br /&gt;
&lt;br /&gt;
==== Fedora 14 ====&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
==== Fedora 19 ====&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
[[Category: Distribution-Specific Build Instructions]][[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Fedora_Build_Instructions&amp;diff=237350</id>
		<title>Fedora Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Fedora_Build_Instructions&amp;diff=237350"/>
		<updated>2016-02-20T09:01:26Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: /* Fedora 19 */ Add perl-LWP-Protocol-https&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== About Fedora ===&lt;br /&gt;
&lt;br /&gt;
http://www.fedoraproject.org&lt;br /&gt;
&lt;br /&gt;
=== Build Instructions ===&lt;br /&gt;
&lt;br /&gt;
The [[Building|build procedure]] is the same as for other Linux systems.&lt;br /&gt;
&lt;br /&gt;
=== Fedora 19 ===&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
             pam-devel java-1.7.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
             gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
             gnome-vfs2-devel ant make tar rpm-build flex junit4 \&lt;br /&gt;
             perl-LWP-UserAgent-Determined perl-XML-Parser \&lt;br /&gt;
             perl-Digest-SHA ORBit2-devel perl-LWP-Protocol-https&lt;br /&gt;
&lt;br /&gt;
Build notes:&lt;br /&gt;
&lt;br /&gt;
* The perl-Digest-SHA dependency is not caught until bootstrap&lt;br /&gt;
&lt;br /&gt;
* The ORBit2-devel dependency is not caught until building the &amp;quot;shell&amp;quot; module&lt;br /&gt;
&lt;br /&gt;
* Build breaks in &amp;quot;hsqldb&amp;quot;: to build with Java7, you need to apply the patch at https://issues.apache.org/ooo/attachment.cgi?id=80961&amp;amp;action=diff&lt;br /&gt;
&lt;br /&gt;
* Build breaks in &amp;quot;moz&amp;quot;: configure with --disable-mozilla to work around it.&lt;br /&gt;
&lt;br /&gt;
=== Fedora 10 (works on Fedora 14 too) ===&lt;br /&gt;
&lt;br /&gt;
Required packages:&lt;br /&gt;
&lt;br /&gt;
 yum install tcsh perl-Archive-Zip gcc gcc-c++ cups-devel \&lt;br /&gt;
             pam-devel java-1.6.0-openjdk-devel gperf freetype-devel \&lt;br /&gt;
             gtk2-devel libIDL-devel libXaw-devel bison patch GConf2-devel \&lt;br /&gt;
             gnome-vfs2-devel ant make&lt;br /&gt;
&lt;br /&gt;
=== Quick start guide ===&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Still valid?&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 yum -y install mono-devel perl-Archive-Zip ant bison \&lt;br /&gt;
        flex pam-devel cups-devel gperf libxslt-devel openldap-devel \&lt;br /&gt;
        firefox-devel xorg-x11-devel gstreamer-devel \&lt;br /&gt;
        gstreamer-plugins-base-devel db4-devel unixODBC-devel \&lt;br /&gt;
        xml-commons-jaxp-1.3-apis xalan-j2 boost-devel \&lt;br /&gt;
        unixODBC-devel qt-devel subversion autoconf automake \&lt;br /&gt;
        gtk2-devel gcc-c++  gnome-vfs2-devel rpm-build \&lt;br /&gt;
        expat-devel python-devel curl-devel&lt;br /&gt;
&lt;br /&gt;
 ./autogen.sh -with-distro=SUSE \&lt;br /&gt;
        --with-jdk-home=/usr/lib/jvm/java-1.5.0-gcj \&lt;br /&gt;
        --with-ant-home=/usr/share/ant \&lt;br /&gt;
         --with-system-mozilla=firefox \&lt;br /&gt;
        --disable-Xaw \&lt;br /&gt;
        --disable-kde \&lt;br /&gt;
        --disable-mono \&lt;br /&gt;
        --enable-opengl --enable-ogltrans \&lt;br /&gt;
        --disable-neon \&lt;br /&gt;
        --enable-debug&lt;br /&gt;
&lt;br /&gt;
Another list&lt;br /&gt;
* http://people.redhat.com/caolanm/ooocvs/makefc3chroot&lt;br /&gt;
&lt;br /&gt;
Blog about building ooo-build on Fedora 7&lt;br /&gt;
* http://openofficeorgfoo.blogspot.com/2007/12/building-ooo-build-from-source.html&lt;br /&gt;
&lt;br /&gt;
=== Fedora packaging ===&lt;br /&gt;
&lt;br /&gt;
==== Fedora 14 ====&lt;br /&gt;
&lt;br /&gt;
The Fedora 14 spec file can be found at http://koji.fedoraproject.org/koji/buildinfo?buildID=276232 (download the srpm, and uncompress it (rpm2cpio &amp;lt;file&amp;gt; | cpio -idv) ); you&amp;#039;ll see the single spec file openoffice.org.spec ; note that it doesn&amp;#039;t build cleanly, you need to apply the patch from https://issues.apache.org/ooo/show_bug.cgi?id=114999&lt;br /&gt;
&lt;br /&gt;
==== Fedora 19 ====&lt;br /&gt;
&lt;br /&gt;
* HSQLDB does not build with Java 7: see https://issues.apache.org/ooo/show_bug.cgi?id=121754 for the relevant patches.&lt;br /&gt;
* Spec files for dmake and epm by Fred Ollinger are at https://github.com/fredollinger/aooo-fedora-rawhide&lt;br /&gt;
* A note from Ariel about dictionaries: http://mail-archives.apache.org/mod_mbox/openoffice-dev/201303.mbox/%3C20130329145345.GC2969%40localhost%3E&lt;br /&gt;
&lt;br /&gt;
[[Category: Distribution-Specific Build Instructions]][[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Wiki_maintenance&amp;diff=237110</id>
		<title>Wiki maintenance</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Wiki_maintenance&amp;diff=237110"/>
		<updated>2015-12-26T12:36:16Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Log update to 1.23.x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MediaWiki version and configuration ==&lt;br /&gt;
As of 26 December 2015, the OpenOffice Wiki is running on: &lt;br /&gt;
* MediaWiki 1.23.13&lt;br /&gt;
&lt;br /&gt;
You can access the MediaWiki API via: http://wiki.services.openoffice.org/w/api.php&lt;br /&gt;
&lt;br /&gt;
== Wiki regular Maintenance (sysop) ==&lt;br /&gt;
Our Wiki is like a flower, it grows wild all by itself, but by nursing it carefully it shows its full potential.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Call to all sysop: please visit the following pages once a month and remove the content:&lt;br /&gt;
&lt;br /&gt;
[[Special:UnusedCategories|Unused Categories]] &amp;#039;&amp;#039;&amp;#039;Unused categories are in any way related to some wanted categories ([[:Category:OC/CalendiÃ¨r]] list pages of [[:Category:OC/Calendièr]] * It affects pages that use accented characters and alphabets different - Cyrillic, Kanji, etc - from the Occidental alphabet)&amp;#039;&amp;#039;&amp;#039;&amp;lt;!-- Sorry if I wrote incorrect, I&amp;#039;m using google\translate --&amp;gt;&lt;br /&gt;
::&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not delete empty categories which are in [[:Category:Wiki Maintenance]]. Some of these are supposed to be empty, unless there is a problem.&lt;br /&gt;
Would it not be possible to create one page &amp;quot;do_not_delete&amp;quot; and add to those catagories, thereby we could automate the process !!&lt;br /&gt;
::Is the sub-categories section of [[:Category:Wiki Maintenance]] good enough?&lt;br /&gt;
[[Special:UnusedFiles|Unused Files]]&lt;br /&gt;
&lt;br /&gt;
[[Special:UnusedTemplates|Unused Templates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Call to all sysop: Please visit the following pages once a month and check if the content should be created, otherwise modify the calling pages:&lt;br /&gt;
&lt;br /&gt;
[[Special:WantedCategories|Wanted Categories]]&lt;br /&gt;
&lt;br /&gt;
[[Special:WantedFiles|Wanted Files]]&lt;br /&gt;
&lt;br /&gt;
[[Special:WantedPages|Wanted Pages]]&lt;br /&gt;
&lt;br /&gt;
[[Special:WantedTemplates|Wanted Templates]]&lt;br /&gt;
:There is some problem with the Basic Guide template (64 redlinks). I will investigate. --[[User:TJFrazier|TJ]] ([[User_talk:TJFrazier|Talk]]) 14:51, 5 January 2013 (UTC)&lt;br /&gt;
::The problem is with the remnants of a project under user G11nAutomation. Moving discussion to dev@, or maybe to I10n@. --[[User:TJFrazier|TJ]] ([[User_talk:TJFrazier|Talk]]) 10:50, 6 January 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Wiki regular Maintenance (root) ==&lt;br /&gt;
&lt;br /&gt;
All documentation is available to the Apache Infrastructure team at&lt;br /&gt;
https://svn.apache.org/repos/infra/infrastructure/trunk/docs/services&lt;br /&gt;
(restricted access, ask to the dev mailing list if you need access).&lt;br /&gt;
&lt;br /&gt;
Integration of cwiki:&lt;br /&gt;
https://studio.plugins.atlassian.com/wiki/display/UWC/Universal+Wiki+Converter&lt;br /&gt;
&lt;br /&gt;
== Wiki Extension Requests ==&lt;br /&gt;
There are currently no extension requests&lt;br /&gt;
&lt;br /&gt;
[[Category:Wiki Maintenance]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237004</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237004"/>
		<updated>2015-12-13T15:10:10Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Combine release and language pack download information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:The Apache OpenOffice Wiki}}&lt;br /&gt;
&amp;lt;!-- {{Documentation/Note|If you need to put a note on the home page, uncomment this.}} --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This wiki is for all projects associated with Apache OpenOffice. It has a good focus on resources for developers. Also other projects work more and more on the wiki. Most are listed here.&amp;lt;br &amp;gt;&lt;br /&gt;
Questions about the contents of this wiki are welcome here, but requests for user support will get better responses elsewhere: on the users mailing lists, or in the [http://forum.openoffice.org/ User Forum].&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;border: 0px solid rgb(102, 102, 102);&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Participation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
*[[Communication]] &lt;br /&gt;
*[http://qa.openoffice.org/issue_handling/pre_submission.html Report a Bug]&lt;br /&gt;
*[[Development|Getting started with Apache OpenOffice Development]] and [[Documentation/Building_Guide_AOO|Building guide]]&lt;br /&gt;
*[http://openoffice.apache.org/orientation/ Orientation] for new volunteers in any fields&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Get latest released software&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*For the most current release and all language packs see the [http://download.openoffice.org Download website] &lt;br /&gt;
*Older released versions in the [https://www.openoffice.org/download/archive.html archive] &lt;br /&gt;
*Latest [https://cwiki.apache.org/confluence/display/OOOUSERS/Development+Snapshot+Builds Developer Snapshot Builds] &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Index&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[:Category:MainIndex|Main Index of Articles]] &lt;br /&gt;
* [[Wiki/statistics|Statistics of activity on the wiki]]&lt;br /&gt;
* [https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance IP Clearance] to Apache compliant licenses&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Documentation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* For Users:&lt;br /&gt;
** [[Documentation|User Guides, FAQs, and HowTos]]&lt;br /&gt;
** [http://support.openoffice.org/ Support]&lt;br /&gt;
* For Advanced Users:&lt;br /&gt;
** [[Documentation/Administration_Guide|Administration Guide]]&lt;br /&gt;
** [[Documentation/BASIC_Guide|BASIC Guide]]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
* For Developers&lt;br /&gt;
** [https://www.openoffice.org/marketing/ooocon2006/presentations/tuesday_d2.pdf OpenOffice Architecture: Run Through the Jungle]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
** [https://wiki.openoffice.org/wiki/Extensions_development Extensions Development]&lt;br /&gt;
** [[Documentation/Building_Guide_AOO| Building Guide]]&lt;br /&gt;
** [[QA/test_automation_guide| Test Automation]]&lt;br /&gt;
** [[:Category:Build System|Build System]]&lt;br /&gt;
** [[Architecture]] - Description of AOO&amp;#039;s software architecture.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 1px solid rgb(207, 207, 191); padding: 0em 0.25em; background-color: rgb(240, 240, 255); text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | You loaded this Main Page on {{CURRENTDAYNAME}}, {{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} &amp;#039;&amp;#039;T&amp;#039;&amp;#039; {{CURRENTTIME}} &amp;#039;&amp;#039;&amp;#039;[[wikipedia:UTC|UTC]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
{{InterWiki Languages}}&lt;br /&gt;
[[Category:MainIndex]][[Category:Outdated]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237003</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237003"/>
		<updated>2015-12-12T22:09:22Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Remove obsolete ODF section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:The Apache OpenOffice Wiki}}&lt;br /&gt;
&amp;lt;!-- {{Documentation/Note|If you need to put a note on the home page, uncomment this.}} --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This wiki is for all projects associated with Apache OpenOffice. It has a good focus on resources for developers. Also other projects work more and more on the wiki. Most are listed here.&amp;lt;br &amp;gt;&lt;br /&gt;
Questions about the contents of this wiki are welcome here, but requests for user support will get better responses elsewhere: on the users mailing lists, or in the [http://forum.openoffice.org/ User Forum].&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;border: 0px solid rgb(102, 102, 102);&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Participation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
*[[Communication]] &lt;br /&gt;
*[http://qa.openoffice.org/issue_handling/pre_submission.html Report a Bug]&lt;br /&gt;
*[[Development|Getting started with Apache OpenOffice Development]] and [[Documentation/Building_Guide_AOO|Building guide]]&lt;br /&gt;
*[http://openoffice.apache.org/orientation/ Orientation] for new volunteers in any fields&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Get latest released software&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*For the most current release see the [http://download.openoffice.org Download website] &lt;br /&gt;
*Download a [http://download.openoffice.org/other.html language pack] for your favorite language&lt;br /&gt;
*Older released versions in the [https://www.openoffice.org/download/archive.html archive] &lt;br /&gt;
*Latest [https://cwiki.apache.org/confluence/display/OOOUSERS/Development+Snapshot+Builds Developer Snapshot Builds] &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Index&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[:Category:MainIndex|Main Index of Articles]] &lt;br /&gt;
* [[Wiki/statistics|Statistics of activity on the wiki]]&lt;br /&gt;
* [https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance IP Clearance] to Apache compliant licenses&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Documentation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* For Users:&lt;br /&gt;
** [[Documentation|User Guides, FAQs, and HowTos]]&lt;br /&gt;
** [http://support.openoffice.org/ Support]&lt;br /&gt;
* For Advanced Users:&lt;br /&gt;
** [[Documentation/Administration_Guide|Administration Guide]]&lt;br /&gt;
** [[Documentation/BASIC_Guide|BASIC Guide]]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
* For Developers&lt;br /&gt;
** [https://www.openoffice.org/marketing/ooocon2006/presentations/tuesday_d2.pdf OpenOffice Architecture: Run Through the Jungle]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
** [https://wiki.openoffice.org/wiki/Extensions_development Extensions Development]&lt;br /&gt;
** [[Documentation/Building_Guide_AOO| Building Guide]]&lt;br /&gt;
** [[QA/test_automation_guide| Test Automation]]&lt;br /&gt;
** [[:Category:Build System|Build System]]&lt;br /&gt;
** [[Architecture]] - Description of AOO&amp;#039;s software architecture.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 1px solid rgb(207, 207, 191); padding: 0em 0.25em; background-color: rgb(240, 240, 255); text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | You loaded this Main Page on {{CURRENTDAYNAME}}, {{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} &amp;#039;&amp;#039;T&amp;#039;&amp;#039; {{CURRENTTIME}} &amp;#039;&amp;#039;&amp;#039;[[wikipedia:UTC|UTC]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
{{InterWiki Languages}}&lt;br /&gt;
[[Category:MainIndex]][[Category:Outdated]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237002</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237002"/>
		<updated>2015-12-12T22:08:10Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Update Software section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:The Apache OpenOffice Wiki}}&lt;br /&gt;
&amp;lt;!-- {{Documentation/Note|If you need to put a note on the home page, uncomment this.}} --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This wiki is for all projects associated with Apache OpenOffice. It has a good focus on resources for developers. Also other projects work more and more on the wiki. Most are listed here.&amp;lt;br &amp;gt;&lt;br /&gt;
Questions about the contents of this wiki are welcome here, but requests for user support will get better responses elsewhere: on the users mailing lists, or in the [http://forum.openoffice.org/ User Forum].&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;border: 0px solid rgb(102, 102, 102);&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Participation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
*[[Communication]] &lt;br /&gt;
*[http://qa.openoffice.org/issue_handling/pre_submission.html Report a Bug]&lt;br /&gt;
*[[Development|Getting started with Apache OpenOffice Development]] and [[Documentation/Building_Guide_AOO|Building guide]]&lt;br /&gt;
*[http://openoffice.apache.org/orientation/ Orientation] for new volunteers in any fields&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Get latest released software&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*For the most current release see the [http://download.openoffice.org Download website] &lt;br /&gt;
*Download a [http://download.openoffice.org/other.html language pack] for your favorite language&lt;br /&gt;
*Older released versions in the [https://www.openoffice.org/download/archive.html archive] &lt;br /&gt;
*Latest [https://cwiki.apache.org/confluence/display/OOOUSERS/Development+Snapshot+Builds Developer Snapshot Builds] &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;ODF and Integration of OpenOffice.org in your workflow&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[OpenDocument|OASIS and OpenDocument]]&lt;br /&gt;
* Free and commercial [[OpenOffice.org Solutions|Solutions]] to assist in the adoption of OpenOffice.org *&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Index&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[:Category:MainIndex|Main Index of Articles]] &lt;br /&gt;
* [[Wiki/statistics|Statistics of activity on the wiki]]&lt;br /&gt;
* [https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance IP Clearance] to Apache compliant licenses&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Documentation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* For Users:&lt;br /&gt;
** [[Documentation|User Guides, FAQs, and HowTos]]&lt;br /&gt;
** [http://support.openoffice.org/ Support]&lt;br /&gt;
* For Advanced Users:&lt;br /&gt;
** [[Documentation/Administration_Guide|Administration Guide]]&lt;br /&gt;
** [[Documentation/BASIC_Guide|BASIC Guide]]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
* For Developers&lt;br /&gt;
** [https://www.openoffice.org/marketing/ooocon2006/presentations/tuesday_d2.pdf OpenOffice Architecture: Run Through the Jungle]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
** [https://wiki.openoffice.org/wiki/Extensions_development Extensions Development]&lt;br /&gt;
** [[Documentation/Building_Guide_AOO| Building Guide]]&lt;br /&gt;
** [[QA/test_automation_guide| Test Automation]]&lt;br /&gt;
** [[:Category:Build System|Build System]]&lt;br /&gt;
** [[Architecture]] - Description of AOO&amp;#039;s software architecture.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 1px solid rgb(207, 207, 191); padding: 0em 0.25em; background-color: rgb(240, 240, 255); text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | You loaded this Main Page on {{CURRENTDAYNAME}}, {{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} &amp;#039;&amp;#039;T&amp;#039;&amp;#039; {{CURRENTTIME}} &amp;#039;&amp;#039;&amp;#039;[[wikipedia:UTC|UTC]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
{{InterWiki Languages}}&lt;br /&gt;
[[Category:MainIndex]][[Category:Outdated]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237001</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237001"/>
		<updated>2015-12-12T22:05:59Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Update Participation section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:The Apache OpenOffice Wiki}}&lt;br /&gt;
&amp;lt;!-- {{Documentation/Note|If you need to put a note on the home page, uncomment this.}} --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This wiki is for all projects associated with Apache OpenOffice. It has a good focus on resources for developers. Also other projects work more and more on the wiki. Most are listed here.&amp;lt;br &amp;gt;&lt;br /&gt;
Questions about the contents of this wiki are welcome here, but requests for user support will get better responses elsewhere: on the users mailing lists, or in the [http://forum.openoffice.org/ User Forum].&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;border: 0px solid rgb(102, 102, 102);&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Participation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
*[[Communication]] &lt;br /&gt;
*[http://qa.openoffice.org/issue_handling/pre_submission.html Report a Bug]&lt;br /&gt;
*[[Development|Getting started with Apache OpenOffice Development]] and [[Documentation/Building_Guide_AOO|Building guide]]&lt;br /&gt;
*[http://openoffice.apache.org/orientation/ Orientation] for new volunteers in any fields&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Get latest released software&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*For the most current release see the [http://download.openoffice.org Download website] &lt;br /&gt;
*Download a [http://download.openoffice.org/other.html language pack] for your favorite language&lt;br /&gt;
*Older released versions in the [http://archive.services.openoffice.org/pub/openoffice-archive archive] &lt;br /&gt;
*Download a [http://download.openoffice.org/all_rc.html Release Candidate] if there is not yet a released version&lt;br /&gt;
*Latest [https://cwiki.apache.org/confluence/display/OOOUSERS/Development+Snapshot+Builds Developer Snapshot Builds] &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;ODF and Integration of OpenOffice.org in your workflow&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[OpenDocument|OASIS and OpenDocument]]&lt;br /&gt;
* Free and commercial [[OpenOffice.org Solutions|Solutions]] to assist in the adoption of OpenOffice.org *&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Index&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[:Category:MainIndex|Main Index of Articles]] &lt;br /&gt;
* [[Wiki/statistics|Statistics of activity on the wiki]]&lt;br /&gt;
* [https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance IP Clearance] to Apache compliant licenses&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Documentation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* For Users:&lt;br /&gt;
** [[Documentation|User Guides, FAQs, and HowTos]]&lt;br /&gt;
** [http://support.openoffice.org/ Support]&lt;br /&gt;
* For Advanced Users:&lt;br /&gt;
** [[Documentation/Administration_Guide|Administration Guide]]&lt;br /&gt;
** [[Documentation/BASIC_Guide|BASIC Guide]]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
* For Developers&lt;br /&gt;
** [https://www.openoffice.org/marketing/ooocon2006/presentations/tuesday_d2.pdf OpenOffice Architecture: Run Through the Jungle]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
** [https://wiki.openoffice.org/wiki/Extensions_development Extensions Development]&lt;br /&gt;
** [[Documentation/Building_Guide_AOO| Building Guide]]&lt;br /&gt;
** [[QA/test_automation_guide| Test Automation]]&lt;br /&gt;
** [[:Category:Build System|Build System]]&lt;br /&gt;
** [[Architecture]] - Description of AOO&amp;#039;s software architecture.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 1px solid rgb(207, 207, 191); padding: 0em 0.25em; background-color: rgb(240, 240, 255); text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | You loaded this Main Page on {{CURRENTDAYNAME}}, {{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} &amp;#039;&amp;#039;T&amp;#039;&amp;#039; {{CURRENTTIME}} &amp;#039;&amp;#039;&amp;#039;[[wikipedia:UTC|UTC]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
{{InterWiki Languages}}&lt;br /&gt;
[[Category:MainIndex]][[Category:Outdated]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237000</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Main_Page&amp;diff=237000"/>
		<updated>2015-12-12T21:59:01Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Remove obsolete News and Teams sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:The Apache OpenOffice Wiki}}&lt;br /&gt;
&amp;lt;!-- {{Documentation/Note|If you need to put a note on the home page, uncomment this.}} --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This wiki is for all projects associated with Apache OpenOffice. It has a good focus on resources for developers. Also other projects work more and more on the wiki. Most are listed here.&amp;lt;br &amp;gt;&lt;br /&gt;
Questions about the contents of this wiki are welcome here, but requests for user support will get better responses elsewhere: on the users mailing lists, or in the [http://forum.openoffice.org/ User Forum].&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 300px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;border: 0px solid rgb(102, 102, 102);&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Participation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
*[[Communication]] &lt;br /&gt;
*[http://qa.openoffice.org/issue_handling/pre_submission.html Report a Bug]&lt;br /&gt;
*[[Development|Getting started with Apache OpenOffice Development]]&lt;br /&gt;
&lt;br /&gt;
* [https://cwiki.apache.org/confluence/display/OOOUSERS/Localization+Planning Getting started with the Localization Planning] of Apache OpenOffice.&lt;br /&gt;
*Overview over active Effort (aka Projects) Planning in the  [https://cwiki.apache.org/confluence/display/OOOUSERS/ Confluence Wiki] [[Efforts]]  &lt;br /&gt;
**[https://cwiki.apache.org/confluence/display/OOOUSERS/Marketing+Planning Marketing] Planning&lt;br /&gt;
***[https://cwiki.apache.org/confluence/display/OOOUSERS/Branding+Planning Branding] Planning&lt;br /&gt;
**[https://cwiki.apache.org/confluence/display/OOOUSERS/Build-Dev-Plan Build Development] Planning&lt;br /&gt;
*[https://cwiki.apache.org/confluence/display/OOOUSERS/AOO4+Brainstorming AOO 4.0 Brainstorming]&lt;br /&gt;
&lt;br /&gt;
The main pages of the active Projects should be tagged the Category Projects to get listed here. &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Get latest released software&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*For the most current release see the [http://download.openoffice.org Download website] &lt;br /&gt;
*Download a [http://download.openoffice.org/other.html language pack] for your favorite language&lt;br /&gt;
*Older released versions in the [http://archive.services.openoffice.org/pub/openoffice-archive archive] &lt;br /&gt;
*Download a [http://download.openoffice.org/all_rc.html Release Candidate] if there is not yet a released version&lt;br /&gt;
*Latest [https://cwiki.apache.org/confluence/display/OOOUSERS/Development+Snapshot+Builds Developer Snapshot Builds] &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;ODF and Integration of OpenOffice.org in your workflow&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[OpenDocument|OASIS and OpenDocument]]&lt;br /&gt;
* Free and commercial [[OpenOffice.org Solutions|Solutions]] to assist in the adoption of OpenOffice.org *&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-style: none solid; border-color: -moz-use-text-color rgb(155, 192, 245); border-width: medium 1px; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Index&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* [[:Category:MainIndex|Main Index of Articles]] &lt;br /&gt;
* [[Wiki/statistics|Statistics of activity on the wiki]]&lt;br /&gt;
* [https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance IP Clearance] to Apache compliant licenses&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 35%; padding-right: 15px;&amp;quot; | &amp;lt;div style=&amp;quot;border-style: solid solid none; border-color: rgb(155, 192, 245) rgb(155, 192, 245) -moz-use-text-color; border-width: 1px 1px medium; padding: 5px; font-size: 120%; font-weight: bold; background-color: rgb(203, 222, 250);&amp;quot;&amp;gt;Documentation&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;border: 1px solid rgb(155, 192, 245); padding: 5px 5px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
* For Users:&lt;br /&gt;
** [[Documentation|User Guides, FAQs, and HowTos]]&lt;br /&gt;
** [http://support.openoffice.org/ Support]&lt;br /&gt;
* For Advanced Users:&lt;br /&gt;
** [[Documentation/Administration_Guide|Administration Guide]]&lt;br /&gt;
** [[Documentation/BASIC_Guide|BASIC Guide]]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
* For Developers&lt;br /&gt;
** [https://www.openoffice.org/marketing/ooocon2006/presentations/tuesday_d2.pdf OpenOffice Architecture: Run Through the Jungle]&lt;br /&gt;
** [[Documentation/DevGuide| Development Guide]]&lt;br /&gt;
** [https://wiki.openoffice.org/wiki/Extensions_development Extensions Development]&lt;br /&gt;
** [[Documentation/Building_Guide_AOO| Building Guide]]&lt;br /&gt;
** [[QA/test_automation_guide| Test Automation]]&lt;br /&gt;
** [[:Category:Build System|Build System]]&lt;br /&gt;
** [[Architecture]] - Description of AOO&amp;#039;s software architecture.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 1px solid rgb(207, 207, 191); padding: 0em 0.25em; background-color: rgb(240, 240, 255); text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | You loaded this Main Page on {{CURRENTDAYNAME}}, {{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} &amp;#039;&amp;#039;T&amp;#039;&amp;#039; {{CURRENTTIME}} &amp;#039;&amp;#039;&amp;#039;[[wikipedia:UTC|UTC]]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-size: 95%;&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
{{InterWiki Languages}}&lt;br /&gt;
[[Category:MainIndex]][[Category:Outdated]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Localization_for_developers&amp;diff=235787</id>
		<title>Localization for developers</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Localization_for_developers&amp;diff=235787"/>
		<updated>2014-12-25T22:13:35Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Clarify article state&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Note|This article is outdated in some places, but still reflects the current process. See [[Localization AOO]] for a proposal, codename genLang, not implemented yet.}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Localization, often abreviated as l10n, from the perspective of the developer is a multi-step process that involves a variety of tools.  Most of these tools as well as the central data format (SDF) are specific to OpenOffice and not used anywhere else.  Only a part of the workflow is integrated into the build system.  Much of it requires manual steps to be taken.  Some of the tools involved are not part of the OpenOffice SVN and, due to a hard disk crash of the old pootle server, are lost.&lt;br /&gt;
&lt;br /&gt;
The actual translation is done with the help of a [http://translate.sourceforge.net/wiki/pootle/index pootle server].  Most of the localization workflow is about uploading and downloading data to/from the pootle server and about extraction/merging of strings from/into source files.&lt;br /&gt;
&lt;br /&gt;
The localization data can be found in [http://svn.apache.org/viewvc/incubator/ooo/trunk/extras/l10n/ extras/l10n], the tools are in [http://svn.apache.org/viewvc/incubator/ooo/trunk/main/l10ntools/ main/l10ntools].&lt;br /&gt;
&lt;br /&gt;
If you are looking for information about how to contribute translations then [[Localization|this page]] gives an (outdated) overview.&lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
&lt;br /&gt;
The localization process consists of several steps.&lt;br /&gt;
The short version look like is this:&lt;br /&gt;
;[[#Content Creation|Content Creation]] &lt;br /&gt;
:Write code or help files or any other content that needs localization.&lt;br /&gt;
;[[#Extraction|Extraction]]&lt;br /&gt;
:Once in a while (for every milestone) the localize_sl script is used to extract the strings that need to be localized.&lt;br /&gt;
;[[#Upload|Upload]]&lt;br /&gt;
:The sdf file created by localize_sl is uploaded to the pootle server and transformed/converted into po files.&lt;br /&gt;
;[[#Translation|Translation]]&lt;br /&gt;
:Translation takes place, either directly via the pootle server&amp;#039;s html frontend or via an offline editor.&lt;br /&gt;
;[[#Download|Download]]&lt;br /&gt;
:The po files are eventually downloaded from the pootle server, converted into sdf files and checked for errors.&lt;br /&gt;
;[[#Integration|Integration]]&lt;br /&gt;
:When the office is built with configure switch --with-lang=&amp;quot;...&amp;quot; then the English strings are replaced by translated strings from the localize.sdf files.  The result is a localized install-set ready to use or a language pack that can be applied to an already installed office.&lt;br /&gt;
&lt;br /&gt;
===Content Creation===&lt;br /&gt;
Write text that needs to be localized.  This can be help files, configuration files (.xcu), or resource files (.rsc).  Source code does not contain localizable strings directly but uses resource files for that.&lt;br /&gt;
&lt;br /&gt;
===Extraction===&lt;br /&gt;
Once in a while (for every milestone) run solenv/bin/localize (which forwards the call to solver/340/&amp;lt;platform&amp;gt;/bin/localize_sl&amp;lt;.exe&amp;gt; which forwards it to solver/340/&amp;lt;platform&amp;gt;/bin/localize&amp;lt;.exe&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
localize iterates over all files in the source tree and searches for files that may contain strings that need localization.  The found files are processed with one of several extractors (implemented in a variety of languages: C++, Python, Java).  The result is one single sdf file.&lt;br /&gt;
&lt;br /&gt;
A typical call to localize looks like this:&lt;br /&gt;
    localize -e -l en-US -f foo.sdf&lt;br /&gt;
&lt;br /&gt;
The resulting foo.sdf.main (where does the .main suffix come from?) has at the moment (SVN revision 1237934) 72556 lines and 13,063,597 bytes.  45302 lines (9,026,966 bytes) of these belong to the helpcontent2 module.&lt;br /&gt;
&lt;br /&gt;
At the moment localize runs with errors on Windows: jpropex, a shell script that calls a java program does not run.  Linux is OK.&lt;br /&gt;
&lt;br /&gt;
Note: On Linux or MacOS you have to use a full qualified path to the output file. Otherwise you won&amp;#039;t get an output file and also no error. The tooling seems to be very error-prone. A lot of space for improvements.&lt;br /&gt;
&lt;br /&gt;
===Upload===&lt;br /&gt;
The sdf file created by localize is uploaded to the pootle server and transformed/converted into template pot files (not necessarily in this order). The existing templates (pot) files for the project should be updated and all languages should be synced against the new templates&lt;br /&gt;
&lt;br /&gt;
The helpcontent2 module is handled separately from the other modules, so as not to dishearten translators that work on the UI part (everything not helpcontent2) and do not see progress (due to the larger number of strings in helpcontent2.)&lt;br /&gt;
&lt;br /&gt;
We should create 2 separate projects: one for &amp;#039;&amp;#039;&amp;#039;UI&amp;#039;&amp;#039;&amp;#039; and one for &amp;#039;&amp;#039;&amp;#039;Help&amp;#039;&amp;#039;&amp;#039;. And we should keep it separated between versions because there will be probably some overlap with potential conflicts. Maybe an approach of keeping two versions in pootle to give translators the chance to work on translation after a release. And to allow future development toward the next release in parallel. &lt;br /&gt;
&lt;br /&gt;
For example something like:&lt;br /&gt;
* Apache OpenOffice 3.4 UI (aoo34)&lt;br /&gt;
* Apache OpenOffice 3.4 Help (aoo34help)&lt;br /&gt;
* Apache OpenOffice 4.0 UI (aoo40)&lt;br /&gt;
* Apache OpenOffice 4.0 Help (aoo40help)&lt;br /&gt;
&lt;br /&gt;
===Translation===&lt;br /&gt;
Translation takes place, either directly via the pootle server&amp;#039;s html frontend or via an offline editor.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
The po files are eventually downloaded from the pootle server, converted into sdf (or converted and then downloaded) and and checked for various errors with gsicheck tool. Then they are integrated into the localize.sdf files in extras/l10n/source/&amp;lt;language&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
When the office is built with configure switch --with-lang=&amp;quot;...&amp;quot;&lt;br /&gt;
then extras/l10n is built and the localize.sdf files are&lt;br /&gt;
rearranged.  In l10n they are grouped according to language.  Now&lt;br /&gt;
they are grouped according to module (and directory.) The sdf files&lt;br /&gt;
in extras/l10/&amp;lt;platform&amp;gt;/misc/sdf are zipped into one archive per&lt;br /&gt;
module and delivered into&lt;br /&gt;
main/solver/340/&amp;lt;platform&amp;gt;/sdf/&amp;lt;module&amp;gt;.zip and then forgotten (at&lt;br /&gt;
least for the processing of src files.)&lt;br /&gt;
&lt;br /&gt;
Resource files (src files) are processed when the other modules are&lt;br /&gt;
built.  The original src files contain strings only for en_US in&lt;br /&gt;
lines that look like&lt;br /&gt;
    Text [en_US] = &amp;quot;...&amp;quot;;&lt;br /&gt;
transex3 adds the missing languages by adding lines like&lt;br /&gt;
    Text [de] = &amp;quot;...&amp;quot;;&lt;br /&gt;
By default all (available) languages are added not just the ones&lt;br /&gt;
given to configure&amp;#039;s --with-lang switch.&lt;br /&gt;
The augmented src files are placed in &amp;lt;module&amp;gt;/&amp;lt;platform&amp;gt;/misc/...&lt;br /&gt;
These are then aggregated into some srs files in&lt;br /&gt;
&amp;lt;module&amp;gt;/&amp;lt;platform&amp;gt;/srs/.&lt;br /&gt;
In a (or several) following step(s) the srs files are aggregated into res files, one for each language.&lt;br /&gt;
&lt;br /&gt;
The resulting res files are delivered to main/solver and become part of the installation sets. Multi-language versions contain res files for more than one language.&lt;br /&gt;
&lt;br /&gt;
At runtime the ResMgr class from the tools module is responsible to use the resource files of the currently selected language whenever a string is requested (as is the case for e.g. all button texts and in general for all text visible in the GUI.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==File Formats==&lt;br /&gt;
&lt;br /&gt;
Quite a number of different file formats are involved in the localization process.  The following list is not complete and may be inaccurate:&lt;br /&gt;
;src&lt;br /&gt;
:    Source files of resources.  Most strings used in the GUI are defined in .src files.&lt;br /&gt;
;hrc&lt;br /&gt;
:    Header files of .src resource files.&lt;br /&gt;
;srs&lt;br /&gt;
:    Made by rsc (which calls rscpp and rsc2) from multiple src files with *all* language strings included.&lt;br /&gt;
;res&lt;br /&gt;
:    Created by transex3 from .srs files.&lt;br /&gt;
;sdf&lt;br /&gt;
:    Used to store localized/localizable strings and their origins.  Comparable to .po files.&lt;br /&gt;
;pot&lt;br /&gt;
:    Created by gettext from source files.  Contains strings that need translation.  Not used by OpenOffice.&lt;br /&gt;
;po&lt;br /&gt;
:    Contains the translated strings from a .pot file.  Used on the pootle server.&lt;br /&gt;
;xhp&lt;br /&gt;
:    Help files of OpenOffice.  Another source for strings that need translation.&lt;br /&gt;
;xliff&lt;br /&gt;
:    A format with the same usage of .po, but it has more functionalities and is standardized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&lt;br /&gt;
A large number of tools, implemented in a variety of languages (C++, Java, Perl, Python, sh) are involved in the localization process.  They mostly extract strings from source files and merge the translated strings back in, or transform between different data formats.&lt;br /&gt;
&lt;br /&gt;
The following list is not (yet) complete and may (still) be inaccurate:&lt;br /&gt;
;transex3&lt;br /&gt;
;rsc&lt;br /&gt;
;rscpp&lt;br /&gt;
;rsc2&lt;br /&gt;
;localize&lt;br /&gt;
;localize_sl&lt;br /&gt;
;xhtex&lt;br /&gt;
:   called from localize to extract strings from .tree or .xtx files.&lt;br /&gt;
;ulfex&lt;br /&gt;
:   called from localize to extract strings from .ulf files.&lt;br /&gt;
;xmlex&lt;br /&gt;
:   called from localize to extract strings from .xrb, .xxl, and .xgf files.&lt;br /&gt;
;cfgex&lt;br /&gt;
:   called from localize to extract strings from .xcd, .xcu, and .xcs files.&lt;br /&gt;
;xrmex&lt;br /&gt;
:   called from localize to extract strings from .xrm files.&lt;br /&gt;
;helpex&lt;br /&gt;
:   called from localize to extract strings from .xhp files.&lt;br /&gt;
;jpropex&lt;br /&gt;
:   called from localize to extract strings from .properties files.&lt;br /&gt;
&lt;br /&gt;
==Roundtrip==&lt;br /&gt;
The necessary steps to provide a full round trip of the localization. &lt;br /&gt;
&lt;br /&gt;
* From &amp;#039;&amp;#039;&amp;#039;resource&amp;#039;&amp;#039;&amp;#039; files to &amp;#039;&amp;#039;&amp;#039;sdf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 cd main&lt;br /&gt;
 localize -e -l en-US -f en-US.sdf&lt;br /&gt;
&lt;br /&gt;
* From &amp;#039;&amp;#039;&amp;#039;sdf&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;pot&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Use the generated en-US.sdf as source and create a set of template pot files for the Pootle project&lt;br /&gt;
 oo2po -P en-US.sdf templates&lt;br /&gt;
&lt;br /&gt;
This set of pot files in the directory &amp;#039;&amp;#039;&amp;#039;templates&amp;#039;&amp;#039;&amp;#039; should now be updated on the pootle server. Copy the complete &amp;#039;&amp;#039;templates&amp;#039;&amp;#039; directory in the &amp;#039;&amp;#039;po&amp;#039;&amp;#039; directory of the Pootle server in the related propject directory.&lt;br /&gt;
&lt;br /&gt;
For example assuming our project id is &amp;#039;&amp;#039;aoo34&amp;#039;&amp;#039; and the Pootle server is under &amp;#039;&amp;#039;/var/www/Pootle&amp;#039;&amp;#039;&lt;br /&gt;
 cp -r templates /var/www/Pootle/po/aoo34/templates&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE&amp;#039;&amp;#039;&amp;#039;: Don&amp;#039;t forget to move the &amp;#039;&amp;#039;helpcontent2&amp;#039;&amp;#039; directory and copy it in the templates directory of the corresponding &amp;#039;&amp;#039;aoo34help&amp;#039;&amp;#039; project.&lt;br /&gt;
&lt;br /&gt;
Update all existing languages to be aligned with the new templates.&lt;br /&gt;
 cd /var/www/Pootle&lt;br /&gt;
 ./manage.py update_from_templates --project=aoo34&lt;br /&gt;
or &lt;br /&gt;
 ./manage.py update_from_templates --project=aoo34 --language=de &lt;br /&gt;
to update a specific language. Probably it is also possible to specify both projects with &amp;#039;&amp;#039;--project=aoo34, aoo34help&amp;#039;&amp;#039; and a list of languages with &amp;#039;&amp;#039;--language=de,fr,es,...&amp;#039;&amp;#039; (not tested it yet)&lt;br /&gt;
If you update &amp;#039;&amp;#039;po&amp;#039;&amp;#039; files for an existing language (translated external) you should update the stores with&lt;br /&gt;
 ./manage.py update_translation_projects --project=aoo34,aoo34help&lt;br /&gt;
 ./manage.py update_stores  --project=aoo34,aoo34help [--language=de,fr,es,...]&lt;br /&gt;
&lt;br /&gt;
* from &amp;#039;&amp;#039;&amp;#039;po&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;sdf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
First step is to resync the database into the &amp;#039;&amp;#039;&amp;#039;po&amp;#039;&amp;#039;&amp;#039; files because otherwise the made changes are only in the database. For example sync the UI strings for &amp;#039;&amp;#039;de&amp;#039;&amp;#039; back into the &amp;#039;&amp;#039;po&amp;#039;&amp;#039; files. &lt;br /&gt;
 ./manage.py sync_stores --project=aoo34 --language=de&lt;br /&gt;
&lt;br /&gt;
The next step is create a new &amp;#039;&amp;#039;&amp;#039;sdf&amp;#039;&amp;#039;&amp;#039; based on this updated &amp;#039;&amp;#039;&amp;#039;po&amp;#039;&amp;#039;&amp;#039; files.&lt;br /&gt;
 po2oo -l de -t en-US.sdf --keeptimestamp --skipsource de new_de.sdf&lt;br /&gt;
This command used the template en-US.sdf and created a new &amp;#039;&amp;#039;&amp;#039;sdf&amp;#039;&amp;#039;&amp;#039; file containing the new &amp;#039;&amp;#039;de&amp;#039;&amp;#039; translations. If you skip the parameter &amp;#039;&amp;#039;skipsource&amp;#039;&amp;#039; the &amp;#039;&amp;#039;en-US&amp;#039;&amp;#039; source translations are also included in the &amp;#039;&amp;#039;sdf&amp;#039;&amp;#039; file. Can be useful for some verification.&lt;br /&gt;
&lt;br /&gt;
This &amp;#039;&amp;#039;&amp;#039;new_de.sdf&amp;#039;&amp;#039;&amp;#039; has to be copied in &amp;#039;&amp;#039;&amp;#039;extras/l18n/source/de/localize.sdf&amp;#039;&amp;#039;&amp;#039; and used for the next build.&lt;br /&gt;
&lt;br /&gt;
===Update to new templates===&lt;br /&gt;
When we have created a new set of templates based on the latest UI changes we have to synchronize the Pootle data accordingly.&lt;br /&gt;
Let assume we are currently in some temp directory and have existing po files in &amp;#039;&amp;#039;&amp;#039;aoo34/es/...&amp;#039;&amp;#039;&amp;#039; and have new templates in &amp;#039;&amp;#039;&amp;#039;aoo34/templates/...&amp;#039;&amp;#039;&amp;#039; then we can create a new set of po files with&lt;br /&gt;
 pot2po -t aoo34/es aoo34/templates es_new&lt;br /&gt;
This command will merge the existing translations found in &amp;#039;&amp;#039;&amp;#039;aoo34/es&amp;#039;&amp;#039;&amp;#039; and merge them with the new templates and stores the new po files in *es_new*. This new po files can be copied in the Pootle project directory &amp;#039;&amp;#039;&amp;#039;&amp;lt;pootle_install_dir&amp;gt;/po/aoo34/es&amp;#039;&amp;#039;&amp;#039;. The database have to be synchronized with the new po files&lt;br /&gt;
 cd &amp;lt;pootle_install_dir&amp;gt;&lt;br /&gt;
 ./manage.py update_stores --project=aoo34 --language=es&lt;br /&gt;
&lt;br /&gt;
==Critique==&lt;br /&gt;
The current localization workflow as outlined above has several drawbacks.&lt;br /&gt;
&lt;br /&gt;
*The workflow looks more like an ad-hoc solution than a designed approach.&lt;br /&gt;
*The tools involved are written in a variety of languages: C++, Java, Perl, and Python.  This is not bad in itself. For example it makes sense to parse Java property files with Java code.  But there is also C++ code for iterating over the tree of source files that uses hard coded lists of other executables and scripts for processing individual files.  That leads to many processes to be created and destroyed, something that is notoriously slow on Windows.&lt;br /&gt;
*Some of the tools are not used anymore.  For example I did not find any .xtx, .xrb, .xxl, .xgf, or .xcd files. Therefore the xbtxex and xmlex tools can be dropped. (May have already happened for xmlex)  Others are used but do not run (like the jpropex tool). And then there is our own preprocessor for handling resource files, which might be replaceable by the standard C/C++ preprocessor (which parses the included hrc files anyway since they are included in C++ code.)&lt;br /&gt;
*OpenOffice uses its own non-standard file format (SDF) for handling localized strings.  In order to use a pootle server for the actual translation, all .sdf files have to be transformed into .po files and, after translation, back into .sdf files. It should be also taken into consideration a future migration to xliff format for translation handout. &lt;br /&gt;
*The localization workflow is convoluted and hard to understand.  Much tooling is involved outside the build process.  This results in a manual process that is undocumented and known only to a select few.  Some of this tooling seems to be lost after a disk crash of the old OpenOffice pootle server: it was not even contained in the source code repository.&lt;br /&gt;
&lt;br /&gt;
==Outlook==&lt;br /&gt;
&lt;br /&gt;
Here is a list of things for improving the localization workflow:&lt;br /&gt;
*Understand the current workflow better by analyzing and documenting it.&lt;br /&gt;
*Get rid of the .sdf files.  Use the .po or .xliff files directly.  The file format does not seem to be much more complicated.  The transformation from .sdf to .po and back again would not longer be necessary.  Widely used tools (used and developed outside the OpenOffice project) could be used.&lt;br /&gt;
*Streamline the number and implementation of the tools used for extraction and merging of localizable strings.  Use the right language for each task.&lt;br /&gt;
*Integrate the string extraction into the build process.  Most of the files that can contain localizable strings are already part of the build system, mostly for the merge process.  For example there are make-rules for transforming and merging rsc files into .srs and then into .res files.  Add rules for the string extraction.  This would allow developers to count new strings and the buildbot could extract the new strings and upload them to the pootle server.&lt;br /&gt;
&lt;br /&gt;
[[Category:L10n]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Localization_AOO&amp;diff=235786</id>
		<title>Localization AOO</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Localization_AOO&amp;diff=235786"/>
		<updated>2014-12-25T22:12:16Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Clarify this is a proposal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Note|This page is about a proposal, codename genLang, not implemented yet.}}&lt;br /&gt;
&lt;br /&gt;
Update: proposal for new workflow [[Localization AOO/new proposal]] and project plan  [[Localization AOO/workPlan]]&lt;br /&gt;
==Introduction==&lt;br /&gt;
This document is based on and extents [[Localization_for_developers]]. The document is work in&lt;br /&gt;
progress showing the result of a detailed technical analysis of the current process (version 3.4.1) .&lt;br /&gt;
As such this document should be seen as a replacement of [[Localization_for_developers]].&lt;br /&gt;
&lt;br /&gt;
The l10n process only concerns itself about localizing defined supported languages. Adding a new&lt;br /&gt;
language is a i18 process. This document is further restricted to the ongoing translation process and&lt;br /&gt;
closely related build process. In case of external happenings, like e.g. Germany changing rules of&lt;br /&gt;
spelling, it should be covered with i18 procedures.&lt;br /&gt;
&lt;br /&gt;
The document will hopefully spark a discussion so it can be updated with other views from the [mailto:ooo-L10n@incubator.apache.org ooo-L10n@incubator.apache.org].&lt;br /&gt;
&lt;br /&gt;
It is important to understand the current process before we start discussing detailed changes, so this&lt;br /&gt;
is the main purpose of this page. Once all the open issues at the end of document have been&lt;br /&gt;
discussed as solutions agreed upon, a new document will be made describing the process as it&lt;br /&gt;
should be in the near future.&lt;br /&gt;
&lt;br /&gt;
Thanks to all those persons who contributed to [[Localization_for_developers]] that has been a great&lt;br /&gt;
starting point for this document.&lt;br /&gt;
&lt;br /&gt;
[[File:L10proc.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Localization, often abbreviated as l10n, defines the process to make a software package available in&lt;br /&gt;
local languages, different to the language of the developer.&lt;br /&gt;
&lt;br /&gt;
Localization is from the perspective of the involved person a multi-step process that involves a&lt;br /&gt;
variety of tools and procedures. Most importantly the 4 main categories of involved persons have&lt;br /&gt;
quite different and to some extent conflicting views and requirement, therefore the process should&lt;br /&gt;
be a real “best of all worlds” approach.&lt;br /&gt;
&lt;br /&gt;
The current process is more or less purely developer oriented, contains a lot of different tools and&lt;br /&gt;
depends a lot on the responsibility of the involved people. It seems to be a process that has grown&lt;br /&gt;
out of necessity more than a planned road.&lt;br /&gt;
&lt;br /&gt;
Most of the tools used as well as the central data format (SDF) are specific to AOO and not used&lt;br /&gt;
anywhere else even though both source (c++, resource, UI files) and target (po files) are standard&lt;br /&gt;
file formats.&lt;br /&gt;
&lt;br /&gt;
Only a part of the workflow are integrated in the build system. Much of it requires manual steps to&lt;br /&gt;
be taken. Some of the tools involved are not part of the OpenOffice SVN and, due to a hard disk&lt;br /&gt;
crash of the old [http://translate.sourceforge.net/wiki/pootle/index pootle server], are lost.&lt;br /&gt;
&lt;br /&gt;
Translations are done with the help of a [http://translate.sourceforge.net/wiki/pootle/index pootle server]. The localization work flow can very short be&lt;br /&gt;
seen as:&lt;br /&gt;
* extraction messages from source files.&lt;br /&gt;
* uploading message to the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
* translating messages on the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
* downloading messages from the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
* merging messages into source files.&lt;br /&gt;
&lt;br /&gt;
If you are looking for information about how to contribute translations then [[Localization]] gives an overview.&lt;br /&gt;
&lt;br /&gt;
The document has 5 parts:&lt;br /&gt;
* a relative non-technical overview of the process,&lt;br /&gt;
* a detailed technical overview of the process,&lt;br /&gt;
* a detailed technical data flow/storage view,&lt;br /&gt;
* a detailed technical view of the tools used with parameters etc,&lt;br /&gt;
* an open issues list,&lt;br /&gt;
==Actors and Systems==&lt;br /&gt;
The l10n process can and should be viewed with respect to 4 different categories of people who&lt;br /&gt;
access the process through 2 different systems. The translator consider [http://translate.sourceforge.net/wiki/pootle/index pootle server] to be repository&lt;br /&gt;
whereas the others consider [http://www.apache.org/dev/version-control.html SVN] the main repository.&lt;br /&gt;
&lt;br /&gt;
[[File:Localization_AOO_1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; this view only relates to the l10n procedure, the picture for the whole project is a lot more&lt;br /&gt;
complex.&lt;br /&gt;
&lt;br /&gt;
The red lighting indicates that the [http://translate.sourceforge.net/wiki/pootle/index pootle server] only works indirectly on the [http://www.apache.org/dev/version-control.html SVN] server.&lt;br /&gt;
&lt;br /&gt;
The red lightning indicates that data is being copied:&lt;br /&gt;
* to/from [http://translate.sourceforge.net/wiki/pootle/index pootle server], which requires manual intervention during the build process&lt;br /&gt;
* to tester which is quite normal, since a tester normally get an install-set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Developers===&lt;br /&gt;
Developers construct the actual program, using dedicated development tools.&lt;br /&gt;
&lt;br /&gt;
Developers will as part of the development process embed messages (errors, warnings …) in the&lt;br /&gt;
source code and/or build UI. The embedded texts are defined to be in English but the source code&lt;br /&gt;
are in different programming languages, making extraction a challenge.&lt;br /&gt;
&lt;br /&gt;
Developers are fluent in their language (C++, java, python etc.) but for sure not in all the native&lt;br /&gt;
languages supported by AOO therefore localization is needed.&lt;br /&gt;
&lt;br /&gt;
Developers uses solely &lt;br /&gt;
[http://www.apache.org/dev/version-control.html SVN] as their repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Translators===&lt;br /&gt;
Translators add texts in the local native language, relating (translating) to the original message. In a&lt;br /&gt;
release there is a 1-n relation between the original message and the supported languages, where n is&lt;br /&gt;
the number of supported languages.&lt;br /&gt;
&lt;br /&gt;
Translators does in principle not need to have programming knowledge because in essence they are&lt;br /&gt;
presented with a list of texts extracted from the source and delivers the translated text back.&lt;br /&gt;
&lt;br /&gt;
Translators work solely with the [http://translate.sourceforge.net/wiki/pootle/index pootle server] which today has no direct connection to [http://www.apache.org/dev/version-control.html SVN] but&lt;br /&gt;
work in parallel with [http://www.apache.org/dev/version-control.html SVN] and are updated manually with regular intervals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Integrators===&lt;br /&gt;
Integrators initiate and control the build process.&lt;br /&gt;
&lt;br /&gt;
Integrators does in principle not need to have programming or translation knowledge, because they&lt;br /&gt;
are basically doing administrative tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Testers===&lt;br /&gt;
Testers check the total system and do a quality assurance of the behavior.&lt;br /&gt;
&lt;br /&gt;
Testers need a deep knowledge of the behavior of the system, but deep technical knowledge is not&lt;br /&gt;
needed.&lt;br /&gt;
&lt;br /&gt;
Today testing seems to be very limited and not formalized in respect of the l10n process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===System: [http://www.apache.org/dev/version-control.html SVN]===&lt;br /&gt;
The sub version server is the actual repository and ideally all systems should work directly on this&lt;br /&gt;
server.&lt;br /&gt;
&lt;br /&gt;
All source files, documents etc. are stored in &lt;br /&gt;
[http://www.apache.org/dev/version-control.html SVN].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===System: [http://translate.sourceforge.net/wiki/pootle/index pootle server]===&lt;br /&gt;
The [http://translate.sourceforge.net/wiki/pootle/index pootle server] provides an environment for translators to work in.&lt;br /&gt;
&lt;br /&gt;
Today the [http://translate.sourceforge.net/wiki/pootle/index pootle server] contains all the translations and are updated from SVN and are as a&lt;br /&gt;
consequence not synchronized and without version control (during the translation process).&lt;br /&gt;
&lt;br /&gt;
Furthermore many translators work offline without any control.&lt;br /&gt;
&lt;br /&gt;
==L10n workflow high altitude view==&lt;br /&gt;
The workflow seen from the outside is quite simple, but still some of the shortcomings should be&lt;br /&gt;
very obvious.&lt;br /&gt;
&lt;br /&gt;
The workflow is designed as a waterfall, but one of the good Norwegian ones where water is&lt;br /&gt;
pumped back up at night time. Ideally for each release each section is done only once (waterfall), but&lt;br /&gt;
in real life two things happen (Norwegian night pumping):&lt;br /&gt;
* Some sections happens in parallel (e.g. Translators start working with early code)&lt;br /&gt;
* Some sections are repeated due to problems found in later sections&lt;br /&gt;
&lt;br /&gt;
This is quite normal and normally not a real problem provided the process is automated and has a&lt;br /&gt;
number of quality gates.&lt;br /&gt;
&lt;br /&gt;
However the current process there is only a single automated quality gate which are pure technical&lt;br /&gt;
(solving: “Can the product be built without errors?”) the rest is left to us humans.&lt;br /&gt;
&lt;br /&gt;
The workflow only concentrates on the l10n process which is only a subset of the total life-cycle&lt;br /&gt;
process.&lt;br /&gt;
[[File:Localization_AOO_2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
The model shows at least one problem, the parallelism of “Translation online” and “Translation&lt;br /&gt;
offline”. To put it a bit on edge, this works because there are no alternatives and because there are&lt;br /&gt;
few volunteers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Content creation===&lt;br /&gt;
Developers construct/develop new functionality or correct bugs/issues using different tools and&lt;br /&gt;
programming languages. During the programming they may insert texts in the source files, this is&lt;br /&gt;
done very differently depending on programming language and type of application (UI or&lt;br /&gt;
error/information messages).&lt;br /&gt;
&lt;br /&gt;
All text are written in English according to the programming guidelines, however there are no&lt;br /&gt;
review process to secure the quality of the text or consistency with the rest of the product.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; A developer can insert the text directly in the source file or in a resource file, for the program&lt;br /&gt;
both ways work, however only a limited number of file extension types are today scanned for texts,&lt;br /&gt;
so in worst case some texts are never translated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upload [http://translate.sourceforge.net/wiki/pootle/index pootle server]===&lt;br /&gt;
The source files are stored in &lt;br /&gt;
[http://www.apache.org/dev/version-control.html SVN]. In general the content of &lt;br /&gt;
[http://www.apache.org/dev/version-control.html SVN] is floating since it contains the&lt;br /&gt;
absolute last updates, with the consequence that a total build very often will fail. To circumvent this&lt;br /&gt;
problem a snapshot is made from time to time, guaranteeing a successful build but the package&lt;br /&gt;
might not function correctly.&lt;br /&gt;
&lt;br /&gt;
The snapshots can be used for a manually started extraction to the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
&lt;br /&gt;
The extraction program loop over all files in &lt;br /&gt;
[http://www.apache.org/dev/version-control.html SVN]&lt;br /&gt;
* building one big sdf file.&lt;br /&gt;
* the sdf file are then split into multiple template files.&lt;br /&gt;
* the template files are merged with the existing po files in the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
* [http://translate.sourceforge.net/wiki/pootle/index pootle server] database contain one set of po files for each language.&lt;br /&gt;
&lt;br /&gt;
The purpose is to decouple the development process from the translation process. The purpose is&lt;br /&gt;
achieved, but the route is highly manual and error prone.&lt;br /&gt;
&lt;br /&gt;
If life was ideal, translation would only take place when development is completed, but typically&lt;br /&gt;
translation takes place at several stages of the development process for several reasons:&lt;br /&gt;
* A release consist of changes to multiple function group (e.g. draw, write and calc), and these developments are finished at different point in times. Whenever a development of a group is finished this group can be translated and thus the decoupling will be repeated.&lt;br /&gt;
* Translation often takes place while testing is ongoing, any bug fixing must lead to a new decoupling, and since there are no version control of the translated parts it can only be controlled manually if there are changes.&lt;br /&gt;
* There are currently no short-cuts to fast translate a bug fix that involves a known text change&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; This part of the process is highly manual and very error prone, since it involves coordinating&lt;br /&gt;
the effort of a high number of people&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Translation===&lt;br /&gt;
Translation takes place on an offline copy consisting of multiple po files. These po files are&lt;br /&gt;
generated each time, so any additional information the translators would like to keep (e.g.&lt;br /&gt;
comments) are lost.&lt;br /&gt;
&lt;br /&gt;
At the moment there are 276 different files to translate for each language. In order to split the work&lt;br /&gt;
UI and Help are separated, there are&lt;br /&gt;
* 20 help files (but they are big!)&lt;br /&gt;
* 256 UI/message files (typically an average of 20lines)&lt;br /&gt;
&lt;br /&gt;
Having that many files to translate makes it more likely to get content inconsistency (same term is&lt;br /&gt;
translated differently).&lt;br /&gt;
&lt;br /&gt;
Since the files are solely generated from the sources, there are no glossary file available, making it&lt;br /&gt;
very difficult for new volunteers to help. Furthermore there are no control of how accelerators are&lt;br /&gt;
used.&lt;br /&gt;
&lt;br /&gt;
The online and offline translation process are handled quite differently.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Today there are no version control and as such no computer controlled review and as a&lt;br /&gt;
consequence the content quality varies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Translation online (“committer”)====&lt;br /&gt;
The po files are stored in [http://translate.sourceforge.net/wiki/pootle/index pootle server] database and thereby available to translators with through&lt;br /&gt;
the HTML interface.&lt;br /&gt;
&lt;br /&gt;
Due to the lack of version control, team work must be controlled carefully.&lt;br /&gt;
&lt;br /&gt;
Once a translation is complete, the translator(s) must manually inform the integrator that the set is&lt;br /&gt;
ready for merge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Translation offline (non “committer”)====&lt;br /&gt;
The integrator will manually extract the po files from the [http://translate.sourceforge.net/wiki/pootle/index pootle server] and send the files to the&lt;br /&gt;
translators without “committer” status. The copy is not under version control or otherwise&lt;br /&gt;
controlled.&lt;br /&gt;
&lt;br /&gt;
Once the translation is complete the the translator must send the files back to the integrator.&lt;br /&gt;
&lt;br /&gt;
There are no computer control with which translations are outstanding, which are in manual review&lt;br /&gt;
and which are completed, this is currently controlled by the integrator.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Neither bugzilla nor the mailing list allows these big attachments, so it must be sent to a private mail address or posted on a private web page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Merge [http://www.apache.org/dev/version-control.html SVN]===&lt;br /&gt;
The integrator must manually decide that all offline translations are back and all online translators&lt;br /&gt;
have finished (translation review is left to the single translator team).&lt;br /&gt;
&lt;br /&gt;
At a point in time decided by the integrator to start the merge, which consist of several manual&lt;br /&gt;
steps:&lt;br /&gt;
* synchronize po files with content of the [http://translate.sourceforge.net/wiki/pootle/index pootle server] database&lt;br /&gt;
* add the offline translated files&lt;br /&gt;
* convert po files to sdf file (one pr language)&lt;br /&gt;
* store sdf file in [http://www.apache.org/dev/version-control.html SVN].&lt;br /&gt;
&lt;br /&gt;
This part of the process does not allow for glossary files, because the converters would have no&lt;br /&gt;
source parts to relate the glossary to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Update [http://translate.sourceforge.net/wiki/pootle/index pootle server]===&lt;br /&gt;
Now it is time to synchronize the pootle server, to make sure then content is identical with SVN.&lt;br /&gt;
Based on the new sdf file (one pr language) the following actions are taken:&lt;br /&gt;
* Convert sdf til template file&lt;br /&gt;
* update templates in [http://translate.sourceforge.net/wiki/pootle/index pootle server]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Language build===&lt;br /&gt;
Finally a test release can be built, and the testers can control the final result.&lt;br /&gt;
It should be noted that there is currently no formal testing of the native language versions.&lt;br /&gt;
&lt;br /&gt;
==Simplified data flow==&lt;br /&gt;
The current data flow is pretty complex, and it seems more like a “invented as needed” structure.&lt;br /&gt;
&lt;br /&gt;
The first part shows the text flow from developer to translator:&lt;br /&gt;
&lt;br /&gt;
[[File:Localization_AOO_3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
The second part shows the text flow from translator to tester:&lt;br /&gt;
&lt;br /&gt;
As seen from the diagrams there are many manual steps, and many different temporary files only&lt;br /&gt;
needed to come from a to b.&lt;br /&gt;
&lt;br /&gt;
[[File:Localization_AOO_4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==L10n workflow technical view==&lt;br /&gt;
This chapter is identical to L10n workflow high altitude view but seen from a technical view&lt;br /&gt;
showing actual commands, names of files and directories as well details of the tool behavior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Content Creation===&lt;br /&gt;
Developers write text that needs to be localized. In principle the texts can be kept in files with any&lt;br /&gt;
extension since most compilers are quite large in that respect. However the programming guidelines&lt;br /&gt;
should secure that only defined extensions are used.&lt;br /&gt;
&lt;br /&gt;
It is worth to note that the most common files (.cxx, .hxx, .cpp, .hpp, .py) are NOT scanned.&lt;br /&gt;
Note: If a developer for some good reason decides to use a file with a non-standard suffix, it will&lt;br /&gt;
NOT be searched for messages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Upload [http://translate.sourceforge.net/wiki/pootle/index pootle server]===&lt;br /&gt;
The upload process is the very complicated and totally manual.&lt;br /&gt;
&lt;br /&gt;
The outcome of the process in general it makes a snapshot copy of the texts in [http://www.apache.org/dev/version-control.html SVN] and makes it&lt;br /&gt;
available on the [http://translate.sourceforge.net/wiki/pootle/index pootle server] and as zip files to contributor translators.&lt;br /&gt;
&lt;br /&gt;
After the texts is extracted and until they are merged back they are NOT in any source control, nor&lt;br /&gt;
is parallel development controlled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extraction from sources (generate new sdf file)===&lt;br /&gt;
Before starting this process, all sources needs to be checked out (read-only). In order to ensure that&lt;br /&gt;
the source is complete it is good practice to do a “build –all” first.&lt;br /&gt;
&lt;br /&gt;
The process is started with:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;cd main&lt;br /&gt;
&lt;br /&gt;
localize -e -l en-US -f en-US.sdf&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
This is a perl script that will call&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;solver/350/&amp;lt;platform&amp;gt;/bin/localize_sl&amp;lt;.exe&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
which is the actual executable. Sources for this executable is found in l10tools/source.&lt;br /&gt;
&lt;br /&gt;
localize_sl loop across the entire tree looking for files with a known extension. As seen in the table&lt;br /&gt;
below the number of relevant files are small compared to the total number of files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;2px&amp;quot; cellpadding=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th colspan=4&amp;gt;&amp;lt;b&amp;gt;Extensions scanned for text&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;Files&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;Extension&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;Tool&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;814&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.hrc&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;transex3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;header for resource files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;98&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.properties&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;jpropex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;java property files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1040&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.src&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;transex3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;source for resource files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;15&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.tree&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xhtex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;help files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.ulf&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;ulfex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;53&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xcd&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;cfgex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml files only in postprocess&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;314&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xcs&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;cfgex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml file for java&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1365&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xcu&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;cfex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml files for UI&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xgf&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xmlex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;4543&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xhp&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;helpex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AOO help files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xrb&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xmlex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xrm&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xrmex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml readme file&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xtx&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xtxex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;.xxl&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xmlex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;8243&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td colspan=3&amp;gt;Files to be scanned, total number of files is 438189&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tools are all separate executables meaning that for each file to be scanned a separate process&lt;br /&gt;
with the corresponding tool is started, especially in MS-Windows this leads to prolonged duration.&lt;br /&gt;
&lt;br /&gt;
The results of the single scans is contained in a single sdf file, which are then passed to the next&lt;br /&gt;
phase.&lt;br /&gt;
&lt;br /&gt;
The resulting sdf file is generated in directory containing main (normally trunk).&lt;br /&gt;
&lt;br /&gt;
The resulting foo.sdf.main has at the moment:&lt;br /&gt;
* 12.994.113 bytes&lt;br /&gt;
* 72.492 lines&lt;br /&gt;
* 45.341 lines of the 72.492 originate from the helpcontent2 module&lt;br /&gt;
* 27.151 lines of the 72.492 originate from UI and simple messages&lt;br /&gt;
&lt;br /&gt;
At the moment localize runs with errors on Windows: jpropex, a shell script that calls a java&lt;br /&gt;
program does not run. Linux is OK.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; On Linux or Mac OS you have to use a full qualified path to the output file. Otherwise you&lt;br /&gt;
won&amp;#039;t get an output file and also no error. The tooling seems to be very error-prone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Merge with pootle server database===&lt;br /&gt;
The sdf file created by localize is transformed/converted into template pot files using&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
This is a perl script that will call&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;oo2po -P en-US.sdf templates&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This set of pot files in the directory templates should now be updated on the [http://translate.sourceforge.net/wiki/pootle/index pootle server]. Copy&lt;br /&gt;
the complete templates directory in the po directory of the [http://translate.sourceforge.net/wiki/pootle/index pootle server] in the related project&lt;br /&gt;
directory.&lt;br /&gt;
&lt;br /&gt;
Assuming our project id is aoo34 and the [http://translate.sourceforge.net/wiki/pootle/index pootle server] is under /var/www/Pootle:&lt;br /&gt;
&lt;br /&gt;
All help files are located in a single module so it easy to distinguish between UI and help. First&lt;br /&gt;
move the help files (in order not to copy them into the UI directory):&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r templates/helpcontent2 \\&lt;br /&gt;
&lt;br /&gt;
/var/www/Pootle/po/aoo34help/templates/helpcontent2&lt;br /&gt;
&lt;br /&gt;
rm -rf helpcontent2&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
Then copy the UI files:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r templates /var/www/Pootle/po/aoo34/templates&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
Update all existing languages to be aligned with the new templates.&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;cd /var/www/Pootle&lt;br /&gt;
&lt;br /&gt;
./manage.py update_from_templates –project=aoo34&lt;br /&gt;
&lt;br /&gt;
./manage.py update_from_templates –project=aoo34help&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;./manage.py update_from_templates --project=aoo34 –language=de&lt;br /&gt;
&lt;br /&gt;
./manage.py update_from_templates --project=aoo34help –language=de&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
to update a specific language.&lt;br /&gt;
&lt;br /&gt;
Probably it is also possible to specify both projects with --project=aoo34, aoo34help and a list of&lt;br /&gt;
languages with --language=de,fr,es,... (not tested it yet)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Translation===&lt;br /&gt;
Translation takes place, either directly via the [http://translate.sourceforge.net/wiki/pootle/index pootle server] html front-end or via an offline editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Translation online (“committer”)===&lt;br /&gt;
Translators with status as “committer” can work directly on the pootle server.&lt;br /&gt;
&lt;br /&gt;
However they have no glossary available, so it is highly possible that the same term is translated&lt;br /&gt;
differently in different modules and it happens for sure over time as different people work on the&lt;br /&gt;
translation.&lt;br /&gt;
&lt;br /&gt;
The changes are done directly in the po files, there are NO version control, and NO review control.&lt;br /&gt;
The separation of help content from UI content has many advantages but one huge disadvantage,&lt;br /&gt;
there are no control that e.g. menu names are identical in help as in the UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Translation offline (non “committer”)===&lt;br /&gt;
Many translators do not have “committer” status and can therefore not use the online [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
&lt;br /&gt;
The normal procedure is that a “committer” generates a zip file with all the files, mails the location&lt;br /&gt;
to the translator.&lt;br /&gt;
&lt;br /&gt;
The translator uses an offline tool like [http://www.poedit.net poedit].&lt;br /&gt;
&lt;br /&gt;
However they have no glossary available, so it is highly possible that the same term is translated&lt;br /&gt;
differently in different modules and it happens for sure over time as different people work on the&lt;br /&gt;
translation.&lt;br /&gt;
&lt;br /&gt;
Once the translation is complete the translator send the files back to the “committer” that updates&lt;br /&gt;
the po files behind the back of the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
&lt;br /&gt;
There are no special quality checks in place to secure that the content of the translation are&lt;br /&gt;
consistent with earlier translations.&lt;br /&gt;
&lt;br /&gt;
If you update po files for an existing language (translated external) you should update the stores&lt;br /&gt;
with (after having copied to po files)&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;./manage.py update_translation_projects -–project=aoo34,aoo34help&lt;br /&gt;
&lt;br /&gt;
./manage.py update_stores --project=aoo34,aoo34help –language=de&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Merge SVN===&lt;br /&gt;
Once the integrator decides that all parts are translated and quality controlled it is time to get the&lt;br /&gt;
texts back into [http://www.apache.org/dev/version-control.html SVN].&lt;br /&gt;
&lt;br /&gt;
First step is to resync the database into the po files because otherwise the made changes are only in&lt;br /&gt;
the database. For example sync the UI strings for de back into the po files.&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;./manage.py sync_stores --project=aoo34 –language=&amp;lt;lang&amp;gt;&lt;br /&gt;
&lt;br /&gt;
./manage.py sync_stores --project=aoo34help –language=&amp;lt;lang&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
The next step is create a new sdf based on this updated po files.&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;po2oo -l de -t en-US.sdf --keeptimestamp --skipsource \&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lang&amp;gt; new_&amp;lt;lang&amp;gt;.sdf&lt;br /&gt;
&lt;br /&gt;
cp new_&amp;lt;lang&amp;gt;.sdf extras/l18n/source/&amp;lt;lang&amp;gt;/localize.sdf&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
This command used the template en-US.sdf and created a new sdf file containing the new de&lt;br /&gt;
translations. If you skip the parameter skipsource the en-US source translations are also included in&lt;br /&gt;
the sdf file. Can be useful for some verification.&lt;br /&gt;
&lt;br /&gt;
There is a utility gsicheck to check the files syntactically, this is however currently not in use.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; this step has to be repeated for each language.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Update [http://translate.sourceforge.net/wiki/pootle/index pootle server]===&lt;br /&gt;
In order to update the [http://translate.sourceforge.net/wiki/pootle/index pootle server] with the newest templates, we repeat earlier steps:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;oo2po -P en-US.sdf templates&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
Let assume we are currently in some temp directory and have existing po files in&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;aoo34/es/...&amp;#039;&amp;#039;&amp;#039; and&lt;br /&gt;
have new templates in&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;aoo34/templates/...&amp;#039;&amp;#039;&amp;#039; then we can create a new set of po files with&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;pot2po -t aoo34/es aoo34/templates es_new&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
This command will merge the existing translations found in&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;aoo34/es&amp;#039;&amp;#039;&amp;#039; and merge them with the new&lt;br /&gt;
templates and stores the new po files in *es_new*. This new po files can be copied in the Pootle&lt;br /&gt;
project directory&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;pootle_install_dir&amp;gt;/po/aoo34/es&amp;#039;&amp;#039;&amp;#039;. The database have to be synchronized with the&lt;br /&gt;
new po files.&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;./manage.py update_translation_projects -–project=aoo34,aoo34help&lt;br /&gt;
&lt;br /&gt;
./manage.py update_stores --project=aoo34,aoo34help –language=de&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Language build===&lt;br /&gt;
Use the normal command:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build –with-lang=&amp;quot;...&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
When the office is built with configure switch --with-lang=&amp;quot;...&amp;quot; then extras/l10n is built and the&lt;br /&gt;
localize.sdf files are rearranged. In l10n they are grouped according to language. Now they are&lt;br /&gt;
grouped according to module (and directory.) The sdf files in extras/l10/&amp;lt;platform&amp;gt;/misc/sdf are&lt;br /&gt;
zipped into one archive per module and delivered into&lt;br /&gt;
main/solver/340/&amp;lt;platform&amp;gt;/sdf/&amp;lt;module&amp;gt;.zip and then forgotten (at least for the processing of src&lt;br /&gt;
files.)&lt;br /&gt;
&lt;br /&gt;
Resource files (src files) are processed when the other modules are built. The original src files&lt;br /&gt;
contain strings only for en_US in lines that look like&lt;br /&gt;
transex3 adds the missing languages by adding lines like&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;Text [en_US] = &amp;quot;...&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
transex3 adds the missing languages by adding lines like&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;Text [de] = &amp;quot;...&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
By default all (available) languages are added not just the ones given to configure&amp;#039;s --with-lang&lt;br /&gt;
switch. The augmented src files are placed in &amp;lt;module&amp;gt;/&amp;lt;platform&amp;gt;/misc/... These are then&lt;br /&gt;
aggregated into some srs files in &amp;lt;module&amp;gt;/&amp;lt;platform&amp;gt;/srs/. In a (or several) following step(s) the&lt;br /&gt;
srs files are aggregated into res files, one for each language.&lt;br /&gt;
&lt;br /&gt;
The resulting res files are delivered to main/solver and become part of the installation sets. Multilanguage&lt;br /&gt;
versions contain res files for more than one language.&lt;br /&gt;
&lt;br /&gt;
At runtime the ResMgr class from the tools module is responsible to use the resource files of the&lt;br /&gt;
currently selected language whenever a string is requested (as is the case for e.g. all button texts and&lt;br /&gt;
in general for all text visible in the GUI.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==File Formats==&lt;br /&gt;
Quite a number of different file formats are involved in the localization process. The following list&lt;br /&gt;
is not complete and may be inaccurate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;2px&amp;quot; cellpadding=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th colspan=2&amp;gt;&amp;lt;b&amp;gt;Used file formats&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;Extension&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;Desription&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.hrc&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;header for resource files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.properties&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;java property files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.po&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;contains the translated strings from a .pot file. Used on the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.pot&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;created by gettext from source files. Contains strings that need translation. Not&lt;br /&gt;
used by OpenOffice except as part of the [http://translate.sourceforge.net/wiki/pootle/index pootle server] update.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.res&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;created by transex3 from .srs files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.sdf&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;used to store localized/localizable strings and their origins. Comparable to .po&lt;br /&gt;
files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.src&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;source for resource files Most strings used in the GUI are defined in .src files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.srs&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Made by rsc (which calls rscpp and rsc2) from multiple src files with *all* language strings included&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.tree&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;help files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.ulf&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xcd&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml files only in postprocess&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xcs&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml file for java&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xcu&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml files for UI&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xgf&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xhp&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AOO help files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xliff&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;a format with the same usage of .po, but it has more functionalities and is&lt;br /&gt;
standardized&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xrb&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xrm&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;xml readme file&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xtx&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;.xxl&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;?&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Tools==&lt;br /&gt;
A large number of tools, implemented in a variety of languages (C++, Java, Perl, Python, sh) are&lt;br /&gt;
involved in the localization process. They mostly extract strings from source files and merge the&lt;br /&gt;
translated strings back in, or transform between different data formats.&lt;br /&gt;
&lt;br /&gt;
The following list is not (yet) complete and may (still) be inaccurate:&lt;br /&gt;
&amp;lt;table border=&amp;quot;2px&amp;quot; cellpadding=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th colspan=2&amp;gt;&amp;lt;b&amp;gt;Used tools&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;tool&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;&amp;lt;b&amp;gt;Desription&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;build&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Standard build tool&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;cfgex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Called from localize_sl to translate .xcd .xcs .xcu files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;gsicheck&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Tool to do a syntax check on sdf files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;helpex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Called from localize_sl to translate .xhp files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;localize&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Perl script to control localize_sl&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;localize_sl&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Program that scan all sources for text strings&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;manage.py&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A Python script to manage the [http://translate.sourceforge.net/wiki/pootle/index pootle server] database&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;oo2po&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Standard program used to convert sdf files to po files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;po2oo&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Standard program used to convert po files to sdf files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;rsc&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Resource compiler&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;rscpp&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Resource compiler&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Rsc2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Resource converter&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;jpropex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Called from localize_sl to translate .properties files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;ulfex &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Called from localize_sl to extract strings from .ulf files. NOT USED&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;xhtex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Called from localize_sl to translate .htex files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;xmlex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Called from localize to extract strings from .xrb .xxl .xgf files. NOT USED&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;xrmex&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Called from localize_sl to translate .xrm files&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Open issues==&lt;br /&gt;
The current localization workflow as outlined above has several drawbacks and plenty of room for&lt;br /&gt;
improvement.&lt;br /&gt;
&lt;br /&gt;
The drawbacks as well as other ideas to make the l10n process robust and stable have been&lt;br /&gt;
collected below. These issues should be discussed either through the wiki or through the mailing&lt;br /&gt;
list.&lt;br /&gt;
&lt;br /&gt;
When there is a proposed solution to all issues, that the community in general agree to, this&lt;br /&gt;
document will be converted into the proposed structure with a list of to-dos.&lt;br /&gt;
The list of issues is not prioritized.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Workflow is not a designed approach===&lt;br /&gt;
The current workflow is probably created as needed and as a consequence it has big portions of&lt;br /&gt;
“left-over” from&lt;br /&gt;
* the original openOffice (not localized)&lt;br /&gt;
* the SUN era&lt;br /&gt;
* the ongoing integration of openOffice in the Apache environment&lt;br /&gt;
* the l10n process is merely a “must” and not as interesting to work on as other parts&lt;br /&gt;
* The localization workflow is convoluted and hard to understand&lt;br /&gt;
* Much tooling is involved outside the build process.&lt;br /&gt;
* Some of this tooling seems to be lost after a disk crash of the old OpenOffice [http://translate.sourceforge.net/wiki/pootle/index pootle server]&lt;br /&gt;
&lt;br /&gt;
This results in a manual process that is undocumented and known only to a select few.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Proposal====&lt;br /&gt;
Once we agree on all issues a design paper on a proposed structure will be make available and be&lt;br /&gt;
basis for discussion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tools are writing in multiple languages===&lt;br /&gt;
The tools involved are written in a variety of languages: C++, Java, Perl, and Python. This is not&lt;br /&gt;
bad in itself. For example it makes sense to parse Java property files with Java code. But there is&lt;br /&gt;
also C++ code for iterating over the tree of source files that uses hard coded lists of other&lt;br /&gt;
executables and scripts for processing individual files. That leads to many processes to be created&lt;br /&gt;
and destroyed, something that is notoriously slow on Windows.&lt;br /&gt;
&lt;br /&gt;
Some of the tools are not used anymore. For example there are no .xtx, .xrb, .xxl, .xgf, or .xcd files.&lt;br /&gt;
&lt;br /&gt;
Therefore the xbtxex and xmlex tools can be dropped. (May have already happened for xmlex)&lt;br /&gt;
&lt;br /&gt;
Others are used but do not run (like the jpropex tool). And then there is our own preprocessor for&lt;br /&gt;
handling resource files, which might be replaceable by the standard C/C++ preprocessor (which&lt;br /&gt;
parses the included hrc files anyway since they are included in C++ code.)&lt;br /&gt;
&lt;br /&gt;
On Linux or MacOS you have to use a full qualified path to the output file. Otherwise you won&amp;#039;t get&lt;br /&gt;
an output file and also no error. The tooling seems to be very error-prone. A lot of space for&lt;br /&gt;
improvements.&lt;br /&gt;
&lt;br /&gt;
At the moment localize runs with errors on Windows: jpropex, a shell script that calls a java&lt;br /&gt;
program does not run. Linux is OK.&lt;br /&gt;
&lt;br /&gt;
Streamline the number and implementation of the tools used for extraction and merging of&lt;br /&gt;
localizable strings. Use the right language for each task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Proposal====&lt;br /&gt;
Rewrite localize_sl, include the conversion programs (more efficiently).&lt;br /&gt;
&lt;br /&gt;
Use gcc preprocessor instead of our own.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Use of sdf file===&lt;br /&gt;
AOO uses its own non-standard file format (SDF) for handling localized strings. In order to use a&lt;br /&gt;
pootle server for the actual translation, all .sdf files have to be transformed into .po files and, after&lt;br /&gt;
translation, back into .sdf files. It should be also taken into consideration a future migration to xliff&lt;br /&gt;
format for translation handout.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Proposal====&lt;br /&gt;
The .sdf files are merely intermediary files between the source files and the po files, and should be&lt;br /&gt;
eliminated.&lt;br /&gt;
&lt;br /&gt;
The choice of .po or .xliff is not so easy:&lt;br /&gt;
&lt;br /&gt;
1) source &amp;lt;-&amp;gt; .po and .pot files&lt;br /&gt;
&lt;br /&gt;
:The advantage of this approach is that all translators knows .po&lt;br /&gt;
&lt;br /&gt;
:The very big disadvantage is that the format has no standard way of storing extra information. We need to store the relative path of the originating source file (as in .sdf) in order to be able to split the information.&lt;br /&gt;
2) Source ↔ .xliff&lt;br /&gt;
:The advantage of this approach is that we can store extra information as needed, furthermore there are xliff editors out there including [http://translate.sourceforge.net/wiki/pootle/index pootle server]. It would also eliminate the need for template files.&lt;br /&gt;
&lt;br /&gt;
:The disadvantage is that it is a new format, and offline translators would need to change editor.&lt;br /&gt;
&lt;br /&gt;
Personally I would prefer .xliff since it makes programming a lot easier, but I think we need to&lt;br /&gt;
listen carefully to the translators.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Separate projects for UI and help===&lt;br /&gt;
We should create 2 separate projects: one for UI and one for Help. And we should keep it separated&lt;br /&gt;
between versions because there will be probably some overlap with potential conflicts. Maybe an&lt;br /&gt;
approach of keeping two versions in pootle to give translators the chance to work on translation&lt;br /&gt;
after a release. And to allow future development toward the next release in parallel.&lt;br /&gt;
&lt;br /&gt;
For example something like:&lt;br /&gt;
:Apache OpenOffice 3.4 UI (aoo34)&lt;br /&gt;
:Apache OpenOffice 3.4 Help (aoo34help)&lt;br /&gt;
:Apache OpenOffice 4.0 UI (aoo40)&lt;br /&gt;
:Apache OpenOffice 4.0 UI (aoo40help)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;note:&amp;#039;&amp;#039;&amp;#039; there are already 2 projects (a0034 and a0034help)&lt;br /&gt;
&lt;br /&gt;
At the moment there are 276 different files to translate. Having that many files to translate makes it&lt;br /&gt;
more likely that the same term is translated differently and currently there are no glossary list&lt;br /&gt;
available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Proposal====&lt;br /&gt;
The process makes 2 files (.xliff or .po) for each language:&lt;br /&gt;
* localize_ui.&amp;lt;xx&amp;gt;&lt;br /&gt;
* localize_help.&amp;lt;xx&amp;gt;&lt;br /&gt;
* glossary.&amp;lt;xx&amp;gt; this file is not generated but maintained by the translators&lt;br /&gt;
&lt;br /&gt;
These 3 files are delivered to the pootle server, translated and sent back for storage in SVN.&lt;br /&gt;
&lt;br /&gt;
These files are handled as other files in respect to versions and releases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build process is highly manual and error prone===&lt;br /&gt;
Total workflow should be automated.&lt;br /&gt;
&lt;br /&gt;
A developer can insert the text directly in the source file or in a resource file, for the program both&lt;br /&gt;
ways work, however only a limited number of file extension types are today scanned for texts, so in&lt;br /&gt;
worst case some texts are never translated.&lt;br /&gt;
&lt;br /&gt;
Integrate the string extraction into the build process. Most of the files that can contain localizable&lt;br /&gt;
strings are already part of the build system, mostly for the merge process. For example there are&lt;br /&gt;
make-rules for transforming and merging rsc files into .srs and then into .res files. Add rules for the&lt;br /&gt;
string extraction. This would allow developers to count new strings and the buildbot could extract&lt;br /&gt;
the new strings and upload them to the [http://translate.sourceforge.net/wiki/pootle/index pootle server].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Proposal====&lt;br /&gt;
Add a new target in the makefiles (l10n_gen). Developers can then assign which files belong to this&lt;br /&gt;
target.&lt;br /&gt;
&lt;br /&gt;
Localize_sl should be rewritten so it can run in multiple makefiles (no directory scanning).&lt;br /&gt;
&lt;br /&gt;
Localize_sl will generate a snippet file that will be stored in a staging area (l10n/stating) and as last&lt;br /&gt;
step in the “build –all” process, l10n will be “built”, that is the snippets will be used to update the&lt;br /&gt;
single language files. With this process the language files will always be “ready” for use in the build&lt;br /&gt;
process.&lt;br /&gt;
&lt;br /&gt;
However the pootle server still need to be manually updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Automatic update of pootle server===&lt;br /&gt;
Translators need versioning possibilities&lt;br /&gt;
&lt;br /&gt;
Offline translation needs to be controlled (delivery etc).&lt;br /&gt;
&lt;br /&gt;
At the moment there are no computerized control over when a translation is ready for merge, nor&lt;br /&gt;
can a translation be given a status like e.g. “ready for review”.&lt;br /&gt;
pootle server can use SVN directly, and thereby offer version control, however at the moment this is&lt;br /&gt;
not used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Proposal====&lt;br /&gt;
Make a new subproject in main called l10n, this project contains the language files (basically extras&lt;br /&gt;
today), but also .mk file for generation.&lt;br /&gt;
&lt;br /&gt;
The pootle server works direct on SVN. With this philosophy translators are seen as just another&lt;br /&gt;
breed of developer (bot work with languages) and we have all the advantages of a version system&lt;br /&gt;
when working on larger translations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Content control===&lt;br /&gt;
PO-&amp;gt;SDF There are currently no control of the content quality (it is possible to make a translation,&lt;br /&gt;
where all translated text are “not-translated” and it will pass.&lt;br /&gt;
&lt;br /&gt;
PO-&amp;gt;SDF There are no check, that changed text are changed in the translation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Proposal====&lt;br /&gt;
Write a new tool that controls the tranlated part (based on the idea from poConsistency) and&lt;br /&gt;
integrate in the “build –all” process.&lt;br /&gt;
&lt;br /&gt;
[[Category:L10n]]&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Localization_AOO/new_proposal&amp;diff=235785</id>
		<title>Localization AOO/new proposal</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Localization_AOO/new_proposal&amp;diff=235785"/>
		<updated>2014-12-25T22:11:42Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Clarify this is a proposal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Note|This page is about a proposal, codename genLang, not implemented yet.}}&lt;br /&gt;
&lt;br /&gt;
Work plan:&lt;br /&gt;
[[Localization AOO/workPlan]]&lt;br /&gt;
&lt;br /&gt;
First proposal:&lt;br /&gt;
[[File:L10procNew.pdf‎]]&lt;br /&gt;
&lt;br /&gt;
CURRENT proposal:&lt;br /&gt;
[[File:L10procNew2.pdf‎]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This document is a proposal for a new l10n workflow, which would have the following advantages over the current workflow:&lt;br /&gt;
&lt;br /&gt;
* It puts us back in total control of the l10n process.&lt;br /&gt;
* It removes the need to rely on partially broken or lost tools.&lt;br /&gt;
* It reduces the number of steps strings must go through to be translated and integrated.&lt;br /&gt;
* It automates a number of operations that have been manual so far.&lt;br /&gt;
* It allows to have a proper version control for translations.&lt;br /&gt;
&lt;br /&gt;
The document describes an end state, of course it will be developed and committed in phases. As development progresses this document will be updated to describe all steps in the l10n workflow not only the technical parts.&lt;br /&gt;
&lt;br /&gt;
There have been a discussion on file formats (.po versus .xliff); in order not to confuse the themes this document is written in a way that both file formats can be used, only the last chapter discusses advantages/disadvantages of the 2 formats.&lt;br /&gt;
&lt;br /&gt;
There is also an ongoing discussion on how to integrate offline translation and offer better QA methods, as a direct consequence the document can be seen as two parts:&lt;br /&gt;
&lt;br /&gt;
* Developer part, this part revolves around the build/commit process used by developers&lt;br /&gt;
* Translation part, this part revolves around handling of language files&lt;br /&gt;
&lt;br /&gt;
Thanks to all those persons who contributed to enable me to write this document.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Localization, often abbreviated as l10n, defines the process to make a software package available in local languages, different to the language of the developer.&lt;br /&gt;
&lt;br /&gt;
L10n is in more popular terms called “Localization of AOO”, or in very simple terms just “translation of AOO”. L10N defines the workflow which makes AOO available in local languages.&lt;br /&gt;
&lt;br /&gt;
Localization is from the perspective of the involved people a multi-step process that involves a variety of tools and procedures. The different main types of people involved have quite different and to some extent conflicting views and requirements, therefore the workflow is a real “best of all worlds” approach.&lt;br /&gt;
&lt;br /&gt;
It has been an objective to make as much as possible of the workflow automated, but there still remain a few manual steps.&lt;br /&gt;
&lt;br /&gt;
The process is in short:&lt;br /&gt;
&lt;br /&gt;
* Developers add messages to source files, which are automatically extracted and converted to language files,&lt;br /&gt;
* Language files are manually committed in SVN, and thereby available to translators,&lt;br /&gt;
* Translation work, regularly committed in SVN or held offline&lt;br /&gt;
* Translation review/commit&lt;br /&gt;
* Building language specific test versions with/without key identifiers&lt;br /&gt;
* Release candidates for language specific AOO built on the SVN content.&lt;br /&gt;
&lt;br /&gt;
If you are looking for information about how to contribute translations then [http://wiki.openoffice.org/wiki/Localization this page] gives an overview. &lt;br /&gt;
&lt;br /&gt;
The document has 8 parts:&lt;br /&gt;
&lt;br /&gt;
* role definition,&lt;br /&gt;
* non-technical workflow overview,&lt;br /&gt;
* simplified data flow,&lt;br /&gt;
* detailed technical workflow walk-through,&lt;br /&gt;
* File formats used,&lt;br /&gt;
* Tools used,&lt;br /&gt;
* Temporary: Discussion on .po versus .xliff,&lt;br /&gt;
* Temporary: Project plan.&lt;br /&gt;
&lt;br /&gt;
== Actors and Systems ==&lt;br /&gt;
The l10n process can and should be viewed with respect to 5 different categories of people who access the process through different tools, but one common repository.&lt;br /&gt;
[[File:localizationAOO_p1.png]]&lt;br /&gt;
&lt;br /&gt;
The picture illustrates the different type of people involved in the workflow, the process itself is explained later.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; this view only relates to the l10n procedure, the picture for the whole project is a lot more complex.&lt;br /&gt;
&lt;br /&gt;
=== Developers ===&lt;br /&gt;
Developers construct the actual program with different programming languages (C++, Java, Python...) and will as part of the development embed english messages (errors, warnings …) in the source code and/or build UI containing english text. Developers are fluent in their language (C++, java, python etc.) but for sure not in all the native languages supported by AOO therefore localization is needed.&lt;br /&gt;
&lt;br /&gt;
The development review process has a number of shortcomings:&lt;br /&gt;
&lt;br /&gt;
* no check of the text (spelling, wording, consistency),&lt;br /&gt;
* reporting language “bugs” are different for english than other languages.&lt;br /&gt;
* We have translations to en-GB and en-ZA but no translation to en-US (even though there are differences like color/colour).&amp;lt;br/&amp;gt; This is a theme that we should address outside the scope of this proposal, and of course keeping in mind developers do not have to be linguist.&lt;br /&gt;
&lt;br /&gt;
=== Translators ===&lt;br /&gt;
Translators add texts in the local native language, relating (translating) to the original message. In a release there is a 1-n relation between the original message and the supported languages, where n is the number of supported languages.&lt;br /&gt;
&lt;br /&gt;
It is not a requirement for the translators to know the different programming languages, because the texts are automatically made available in form of content files with the principal layout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;original english text&amp;gt; = &amp;lt;native language text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Translators for a given language are normally working as a small team. The division of files among the team is highly different and handled by the team itself.&lt;br /&gt;
&lt;br /&gt;
=== Language reviewer ===&lt;br /&gt;
In general one person of the team reviews the translations, collects all files and makes them available using pootle. The pootle server includes tools that takes the mechanic part out of the review process.&lt;br /&gt;
&lt;br /&gt;
The reviewer must either be a committer or work with one, in order to commit the files to SVN.&lt;br /&gt;
&lt;br /&gt;
=== Integrators ===&lt;br /&gt;
Integrators have mainly administrative task, such as:&lt;br /&gt;
&lt;br /&gt;
* committing the language files in SVN if not done by the developers,&lt;br /&gt;
* control the automatic nightly build process,&lt;br /&gt;
&lt;br /&gt;
Integrators do not in principle need to have programming or translation knowledge, because they are basically doing administrative tasks.&lt;br /&gt;
&lt;br /&gt;
=== Testers ===&lt;br /&gt;
Testers check the total system and do a quality assurance of the behaviour.&lt;br /&gt;
&lt;br /&gt;
Testers need a deep knowledge of the behaviour of the system, but deep technical knowledge is not needed.&lt;br /&gt;
&lt;br /&gt;
To help testing a special test build will be available, showing the keyId of strings. This build has these advantages and disadvantages:&lt;br /&gt;
&lt;br /&gt;
* it makes it easy to verify that each message is tested&lt;br /&gt;
* it ruins the UI because of the text length.&lt;br /&gt;
&lt;br /&gt;
=== System: [http://www.apache.org/dev/version-control.html SVN]  ===&lt;br /&gt;
The sub version server is the actual repository and all systems work directly on this server.&lt;br /&gt;
&lt;br /&gt;
All source files, language files, glossaries, documents etc. are stored in SVN.&lt;br /&gt;
&lt;br /&gt;
=== System: [http://translate.sourceforge.net/wiki/pootle/index pootle server] ===&lt;br /&gt;
The pootle server provides an dedicated environment for all translators to work in.&lt;br /&gt;
&lt;br /&gt;
The pootle server uses SVN to store the language files, so a translation is immediately available for build.&lt;br /&gt;
&lt;br /&gt;
Offline translators use pootle to upload/download files for translation and to take status on ongoing work.&lt;br /&gt;
&lt;br /&gt;
== L10n workflow (non technical) view ==&lt;br /&gt;
The workflow is designed for a high degree of parallel work fully automated, basically it handles developers, translators and testers as equals. &lt;br /&gt;
&lt;br /&gt;
Even though the tools allow parallel work, the workflow will have a manually decided point of “string freeze” which signals that development cannot change strings, and translators have a fixed set of strings to translate. The “string freeze” can also been seen as a transition point, where the focus of the release process shift from development to QA, translation and bug fixing.&lt;br /&gt;
&lt;br /&gt;
The workflow allows translators to start early on translations and thereby providing language testers with language versions parallel with the English version. In theory it should reduce the time needed between end of development and release date, and in praxis it allows early testing of language versions meaning a more stable and complete release. &lt;br /&gt;
&lt;br /&gt;
Lets look at the components (using the picture from before)&lt;br /&gt;
&lt;br /&gt;
[[File:localizationAOO_p1.png]]&lt;br /&gt;
&lt;br /&gt;
The central and only repository is SVN. The SVN server is accessed by SVN utilities and Pootle. It is important to note that none of these programs have local storage (except for caching etc.), so there are NO copying of data!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The common repository is the key point to a parallel workflow.&lt;br /&gt;
&lt;br /&gt;
The workflow consist of the following “steps”:&lt;br /&gt;
&lt;br /&gt;
[[File:localizationAOO_p2.png]]&lt;br /&gt;
&lt;br /&gt;
The phases&amp;#039;&amp;#039;&amp;#039; Content creation&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Translation&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Review&amp;#039;&amp;#039;&amp;#039; changes the language files:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Content creation&amp;#039;&amp;#039;&amp;#039;, create texts to be translated, but do NOT change text,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Translation&amp;#039;&amp;#039;&amp;#039;, translates existing text string, but do NOT create text,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Review&amp;#039;&amp;#039;&amp;#039;, changes translated text, but do NOT create text.&amp;lt;br/&amp;gt; The phases &amp;#039;&amp;#039;&amp;#039;Snapshot build&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Review&amp;#039;&amp;#039;&amp;#039; makes the texts available for build and translation.&amp;lt;br/&amp;gt; Of course a text cannot be translated before it is created, so there is a natural flow from top to bottom seen for a single text string, but the process as a whole is truly parallel. The only sequences are:&lt;br /&gt;
* Translator → Review, which is a true quality gate,&lt;br /&gt;
* Language build → Language test, which is pure necessity.&lt;br /&gt;
&lt;br /&gt;
=== Content Creation ===&lt;br /&gt;
Developers construct/develop new functionality or correct bugs/issues using different tools and programming languages. During the programming they may insert texts in the source files, this is done very differently depending on programming language and type of application (UI or error/information messages).&lt;br /&gt;
&lt;br /&gt;
The texts are automatically extracted with every build and sent to a language staging area as part of the normal build process of a local directory. This behavior can be changed with a build switch,. &lt;br /&gt;
&lt;br /&gt;
When a developer build the complete AOO, all language files in all languages are automatically updated and ready for use solely on the local platform because nothing is committed automatically. The source files are NOT changed (contain only the original English entry). &lt;br /&gt;
&lt;br /&gt;
When a developer build the complete AOO with language option all language files in all languages are automatically updated and ready for use solely on the local platform because nothing is committed automatically. The source files are NOT changed (contain only the original English entry). &lt;br /&gt;
&lt;br /&gt;
When a developer build the complete AOO with a specific language option. All language files in all languages are automatically updated and ready for use solely on the local platform because nothing is committed automatically. The source files are NOT changed (contain only the original English entry). Furthermore the resource manager is instructed to start AOO in the chosen language.&lt;br /&gt;
&lt;br /&gt;
Sharing the language files poses no problem, since the developer works offline.&lt;br /&gt;
&lt;br /&gt;
Sharing the commit responsibility for the language files poses no problem, because by nature the usage is divided:&lt;br /&gt;
&lt;br /&gt;
* Developers are the only ones who create strings (add keys) to the language files&lt;br /&gt;
* If a developers remove a text (key), the line is marked in the language file, and the translator can remove the line.&lt;br /&gt;
* If a developer changes a text (key), it is considered a new text (key), and the translators must copy the translation from the old key (unused) to the new key.&amp;lt;br/&amp;gt; In order for the developer to test a change, a complete build of AOO is needed, therefore all language files are created. Each main directories correspond to exactly one language file, so when a developer commits the source files, it is easy also to commit the language files, in order to make them available for translation. If the developer does not commit language files it will happen as part of a snapshot build.&lt;br /&gt;
&lt;br /&gt;
=== Snapshot build ===&lt;br /&gt;
At regular intervals (more frequently as the release date comes closer) a snapshot build is made. The differences from a normal build to a snapshot build are:&lt;br /&gt;
&lt;br /&gt;
* the revision is marked in order to be able to rebuild exactly the same revision, independently  of what new items have been committed,&lt;br /&gt;
* it is being made available for download on openoffice.org in all languages,&lt;br /&gt;
* it includes build in a “key” version in all languages, allowing testers to see the string keys.&lt;br /&gt;
&lt;br /&gt;
The snapshot build consist of the following steps:&lt;br /&gt;
&lt;br /&gt;
* extract all language files,&lt;br /&gt;
* manually commit language files, not already committed (would normally be done by the developers),&lt;br /&gt;
* mark revision, which includes all languages,&lt;br /&gt;
* build all language versions,&lt;br /&gt;
* build all language versions in “key” mode (for testers),&lt;br /&gt;
* publish on cwiki.apache.org&lt;br /&gt;
With this method a snapshot build is just as complete as a release, containing both source code and language files. This is a good starting point for translators, since it is consistent and can be tested.&lt;br /&gt;
&lt;br /&gt;
=== Translation ===&lt;br /&gt;
There are (based on 1 file for each subdirectory in main):&lt;br /&gt;
&lt;br /&gt;
* 8 help files, corresponding to the product parts (writer, calc...),&lt;br /&gt;
* 46 UI/message files correspond to the directories in main (source tree), this will be reduces further (with a possibility to combine directories) on basis of feed back from the translation teams.&lt;br /&gt;
* 1 glossary file&amp;lt;br/&amp;gt; to be translated in (at the moment) 112 languages, given a total of 6.048 files to be translated (a big reduction compared to the old process which had 450 files a total of 50.400 files).&lt;br /&gt;
&lt;br /&gt;
Alone the number signals the amount of effort required and the need for an efficient process and the requirement for a highly automated QA process.&lt;br /&gt;
&lt;br /&gt;
The files to translate are:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;  style=&amp;quot;border:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;8 help files&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sbasic.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;scalc.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;schart.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sdraw.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;shared.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;simpress.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;smath.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;swriter.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;  style=&amp;quot;border:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;46 UI files&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;accessibility.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;avmedia.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;basctl.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;basic.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;chart2.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;connectivity.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;crashrep.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;cui.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;dbaccess.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;desktop.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;editeng.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;extensions.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;filter.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;forms.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;formula.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;fpicker.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;framework.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;instsetoo.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;javainstaller2.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;mysqlc.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;officecfg.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;padmin.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;readlicense.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;reportbuilder.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;reportdesign.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sc.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;scaddins.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sccomp.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;scp2.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sd.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sdext.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;setup_native.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sfx2.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;shell.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;starmath.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;svl.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;svtools.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;svx.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sw.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;swext.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sysui.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;sysui.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;ucbhelper.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;uui.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;vcl.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;wizards.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;xmlsecurity.&amp;lt;type&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;type&amp;gt; is used in a generic sense, see later for the discussion about file formats. The number of directories might change for two reasons:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* it is decided to combine directories (the tool offers it),&lt;br /&gt;
* developers use text strings in non-listed directories.&amp;lt;br/&amp;gt; The tight relationship directory – language file, makes it easy for developer and translator to work together while still maintaining the possibility for a team to split the translation on a file basis.&lt;br /&gt;
&lt;br /&gt;
More importantly, when a developer make a change it is immediately available to the translator (provided the developer also commit the language files), this allows very fast turn around times in cases like bug fixes.&lt;br /&gt;
&lt;br /&gt;
Additional there is one glossary file available for each language, which should be used for generic terms (e.g. Cancel) in order to secure a consistent translation. If the glossary is used the translation will automatically be controlled against the glossary during the next build.&lt;br /&gt;
&lt;br /&gt;
Since the language files are stored in SVN, the translator can just as the developer backtrack changes.&lt;br /&gt;
&lt;br /&gt;
==== Translation workflow ====&lt;br /&gt;
The bulk of translators work offline, and many are primarily interested in translation and local themes. Many want to have easy access to translation without having to concern themselves with SVN and other technical details. Pootle (extended version) provides mechanisms to provide possibilities for download/upload of set of files (they still have to be committed manually).&lt;br /&gt;
&lt;br /&gt;
The translators downloads the files of interest from pootle. The translator can do that either anonymously or with an id. If they do it with an id, the files are given that status as being in translation (by id).&lt;br /&gt;
&lt;br /&gt;
The translation itself is carried out with local tools like [http://www.poedit.net/ poEdit] or [http://translate.sourceforge.net/wiki/virtaal virtaal]. It is important for efficiency reasons that all changes are marked “fuzzy”, since this allows the reviewer to work more efficiently. &lt;br /&gt;
&lt;br /&gt;
It is important to note that translators have a free choice of when to start translation. There are 3 point to initiate translation:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;“bleeding edge”&amp;#039;&amp;#039;&amp;#039;, using the newest SVN entries. This cannot be recommended (except for critical isolated bug fixing situations). With the “bleeding edge”, there are NO guarantee that the text string keys will remain stable.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;“snapshot build”&amp;#039;&amp;#039;&amp;#039;, this guarantees at least the AOO is build-able and use-able (even though some functions might not work). It is possible but unlikely that text strings (keys) change, but very likely that new strings are added at a later point in time. This stage is recommend for early translation work, especially because the snapshot build also provides the language reviewers with the possibility to test the translations.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;“string freeze”&amp;#039;&amp;#039;&amp;#039; period, which is defined to be after all direct development is finished (not including QA), the translator has a stable set of text strings (keys) to work on. Developers will probably still solve QA problems, but the set of text strings remain constant. A small word of precaution: this is also the time where the pressure to release the product is highest, and per definition the translator is at the end of the development process and therefore prone to the highest pressure in order to keep deadlines.&amp;lt;br/&amp;gt; A combination of translation based on &amp;#039;&amp;#039;&amp;#039;“snapshot build”&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;“string freeze”&amp;#039;&amp;#039;&amp;#039; seems to be the most efficient method. Use &amp;#039;&amp;#039;&amp;#039;“snapshot build”&amp;#039;&amp;#039;&amp;#039; to e.g. translate “draw” because development is finished but wait with “writer”.&amp;lt;br/&amp;gt; Once the translator has finished translating the downloaded files, they should be uploaded to the pootle server. The upload stores the files locally (WITHOUT commit) while waiting for a review process. This can be done on a file by file basis or in sets, depending on how the teams choose to work.&amp;lt;br/&amp;gt; When the files are uploaded to the pootle server, the Reviewer takes over the responsibility.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Language reviewer ===&lt;br /&gt;
The language reviewer takes care of the team, splitting the files for translation and collecting them. The language reviewer will often act as a non-official head of the team being the contact point to the rest of the AOO community.&lt;br /&gt;
&lt;br /&gt;
Once the translators have translated the files, they will be reviewed. It is important that the reviewer do NOT take active part in the translation but have “new” eyes. The purpose of the review are to:&lt;br /&gt;
&lt;br /&gt;
* secure that the terms in the glossary are used throughout,&lt;br /&gt;
* secure the language is fluent and modern (today in many western languages english terms like “computer” or “internet” is accepted and used.&lt;br /&gt;
* Secure (with the help of pootle) that everything is translated syntactically correct, so it can be used the process following.&amp;lt;br/&amp;gt; The reviewer (normally being a committer) can choose to either make changes directly on the pootle server or ask the team member to do make the changes and upload a new file.&amp;lt;br/&amp;gt; The reviewer must remove the “fuzzy” mark, to acknowledge the translation and finally commit the file, to make it available for language builds.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Language build ===&lt;br /&gt;
Developers and integrators can any time do a language build with the newest translations, there are no manual steps needed. However it is advised to check with the language reviewers before starting the process.&lt;br /&gt;
&lt;br /&gt;
During the build the language files will be split into the parts needed by the source files.&lt;br /&gt;
&lt;br /&gt;
The language build are done in 3 different parts:&lt;br /&gt;
&lt;br /&gt;
* Normal installation set, basically the resource manager is “told” which language to use during setup.&lt;br /&gt;
* Language packs, these are files that can be added to an existing installation.&lt;br /&gt;
* Test installation set, this set is only interesting for a tester, all text strings in the UI are shown with ID, in order for for the tester to check that all ID have been tested. WARNING this set cannot be used to check the UI layout since the key changes the actual layout.&lt;br /&gt;
&lt;br /&gt;
=== Language test ===&lt;br /&gt;
When a language version is built, the UI test tools will also be localized and as a consequence a test suite can be executed in the local language.&lt;br /&gt;
&lt;br /&gt;
Furthermore a AOO that shows the keys will be provided.&lt;br /&gt;
&lt;br /&gt;
The QA process for languages still needs to be refined. Today it depends a lot on the local teams, these team must be freed from the burden of the ordinary test.&lt;br /&gt;
&lt;br /&gt;
Local teams should create test cases important for their language, like e.g. sort sequences or spelling control. Once created these test cases must be executed automatically and the findings handled by our QA team (independently of language).&lt;br /&gt;
&lt;br /&gt;
== Simplified data flow ==&lt;br /&gt;
As seen from the diagrams the flow is very natural and without manual steps:&lt;br /&gt;
&lt;br /&gt;
[[File:localizationAOO_p3.png]]&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;“source”&amp;#039;&amp;#039;&amp;#039; files reside in the local developer directory until manually committed.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;“language files”&amp;#039;&amp;#039;&amp;#039; reside in pootle, until committed manually by the reviewer.&lt;br /&gt;
&lt;br /&gt;
SVN is the nucleus where we keep everything and can backtrack all changes. Even though not obvious from the drawing a developer and a translator are completely equal !! if the developer has status as “contributor” a “committer” is needed as intermediary just like the Reviewer.&lt;br /&gt;
&lt;br /&gt;
But more importantly the data flow show clearly how automatically the process is, even though we have manually QA clearance gates (committing to SVN).&lt;br /&gt;
&lt;br /&gt;
The simple data flow is THE most important point for a robust workflow, and also a guarantee that it can be expanded with future demands.&lt;br /&gt;
&lt;br /&gt;
The flow of a single file can be viewed as:&lt;br /&gt;
&lt;br /&gt;
[[File:localizationAOO_p4.png]]&lt;br /&gt;
&lt;br /&gt;
The red arrows indicate optional commit points.&lt;br /&gt;
&lt;br /&gt;
== L10n workflow (developer) walk-through ==&lt;br /&gt;
This chapter is identical to [[#L10n workflow (non technical) view|L10n workflow (non technical) view]] but seen from a technical view showing actual commands, names of files and directories as well details of the tool behaviour.&lt;br /&gt;
&lt;br /&gt;
=== Content Creation ===&lt;br /&gt;
Developers write text that needs to be localized. In principle the texts can be kept in files with any extension since most compilers are quite large in that respect. However the programming guidelines should secure that only defined extensions are used. &lt;br /&gt;
&lt;br /&gt;
The extraction tool handles the following extensions:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot;  style=&amp;quot;border:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Extensions scanned for text&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;#039;&amp;#039;&amp;#039;Files&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;#039;&amp;#039;&amp;#039;Extension&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;#039;&amp;#039;&amp;#039;Description&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;814&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .hrc&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| header for resource files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;98&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .properties&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| java property files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;1.040&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .src&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| source for resource files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;15&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .tree&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| help files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;53&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xcd&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml files only in postprocess&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;314&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xcs&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml file for java&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;1.365&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xcu&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml files for UI&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;4.543&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xhp&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| AOO help files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;1&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xrm&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml readme file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;8.243&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;  style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| out of 438.189&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The makefile/build contains a target &amp;#039;&amp;#039;&amp;#039;genLang&amp;#039;&amp;#039;&amp;#039;, and these extensions are globally associated with the target just like .cpp is associated with .o (and served by the C++ compiler). However the developer can in the local makefile overwrite the default. This makes sense in directories that contain files of these types with text that should not be translated.&lt;br /&gt;
&lt;br /&gt;
Build target &amp;#039;&amp;#039;&amp;#039;genLang&amp;#039;&amp;#039;&amp;#039; is served by the tool &amp;#039;&amp;#039;&amp;#039;generateLanguage&amp;#039;&amp;#039;&amp;#039; (source is located in main/l10ntools). &amp;#039;&amp;#039;&amp;#039;generateLanguage&amp;#039;&amp;#039;&amp;#039; extract the messages directly, only in case of Java a sub-process is started. With the standard association the tool will only run once, and not for each file, by overwriting the default it is up to the developer if the tool should run for each file or once (the tools handles multiple filenames as parameter).&lt;br /&gt;
&lt;br /&gt;
If the developer decided to use other extensions, &amp;#039;&amp;#039;&amp;#039;generateLanguage&amp;#039;&amp;#039;&amp;#039; has a parameter –&amp;#039;&amp;#039;&amp;#039;useExt&amp;#039;&amp;#039;&amp;#039; that overwrites the file extension.&lt;br /&gt;
&lt;br /&gt;
Assuming the developer is in a local directory (e.g. main/l10ntools) and calls:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
the code will be built and one language file (&amp;lt;nowiki&amp;gt;&amp;lt;directory name&amp;gt;&amp;lt;/nowiki&amp;gt;.xx) will be created. The language file will be placed in a staging area (extras/l10n/staging), think of it as an object file ready for linking.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to build a complete AOO, following command is used&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
This command will update all native language files, based on the generated language files.&lt;br /&gt;
&lt;br /&gt;
To manually update all the native language files (only applicable after AOO has been completely build), use:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;cd extras/l10n&amp;lt;br&amp;gt;build&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
Once AOO has been built once, language versions can be built.&lt;br /&gt;
&lt;br /&gt;
The following command insert all languages in the source files for the project:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --withLang&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
To make an installation set with a specific language, use:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all --withLang=&amp;quot;da&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; When doing a commit, it is optional to commit the updated language files in. If it isn’t done the texts are not available to the translators before next snapshot build.&lt;br /&gt;
&lt;br /&gt;
=== Snapshot build ===&lt;br /&gt;
A snapshot build is very much like a release build, it creates an install-set.&lt;br /&gt;
&lt;br /&gt;
The process of a snapshot (automated in a script) is:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
Then manually commit any changed native language files, thereby making sure that both source and native language files are at the same level. The revision of SVN is the snapshot revision.&lt;br /&gt;
&lt;br /&gt;
Build the actual snapshot, prepared for languages: &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all --with-lang&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or build the actual snapshot, for all languages:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all --with-lang=ALL&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The snapshot build is important for both translator and tester, since it is a checkpoint where code and native language files are guaranteed to fit each other.&lt;br /&gt;
&lt;br /&gt;
=== Translation / review ===&lt;br /&gt;
In order for the translator to work according to the workflow, the pootle server needs to be adapted, see tools section.&lt;br /&gt;
&lt;br /&gt;
=== Language build ===&lt;br /&gt;
To prepare all sources with all languages, use:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all --with-lang&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To generate an install-set for one or more specific languages, use:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all --with-lang=&amp;quot;...&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To generate an install-set for all languages, use:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;build --all --with-lang=ALL&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The “--all” will make a build in extras/l10n which will first update all language files based on the extractions (in staging area) from the source and then secondly process all resource files.&lt;br /&gt;
&lt;br /&gt;
Resource files (src files) are processed when the other modules are built. The original src files contain strings only for en_US in lines that look like &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Text [en_US] = &amp;quot;...&amp;quot;;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;generateLanguange&amp;#039;&amp;#039;&amp;#039; adds the missing languages by adding lines like &lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin-left: 2cm;border-spacing:0;border:0.002cm solid #000000;padding:0.2cm;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Text [de] = &amp;quot;...&amp;quot;; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default all (available) languages are added not just the ones given to configure&amp;#039;s --with-lang switch. The augmented src files are placed in &amp;lt;module&amp;gt;/&amp;lt;platform&amp;gt;/misc/... These are then aggregated into some srs files in &amp;lt;module&amp;gt;/&amp;lt;platform&amp;gt;/srs/. In a (or several) following step(s) the srs files are aggregated into res files, one for each language.&lt;br /&gt;
&lt;br /&gt;
The resulting res files are delivered to main/solver and become part of the installation sets. Multi-language versions contain res files for more than one language. &lt;br /&gt;
&lt;br /&gt;
At runtime the ResMgr class from the tools module is responsible to use the resource files of the currently selected language whenever a string is requested (as is the case for e.g. all button texts and in general for all text visible in the GUI.)&lt;br /&gt;
&lt;br /&gt;
=== Language test ===&lt;br /&gt;
The snapshot build generates installation-sets or language packs for all languages, allowing tester to install a full AOO and test it manually.&lt;br /&gt;
&lt;br /&gt;
At a later stage, the current automated test tools will be adapted to use different languages, in order for testers to run an automated UI test. &lt;br /&gt;
&lt;br /&gt;
At a later stage, the testers will be provided with special installation-sets, where the message keys are visible, allowing the testers to have a check list with all messages and work their way through the list in a formalized way.&lt;br /&gt;
&lt;br /&gt;
Apart from testing the UI, the testers need to write test cases specific for a language like sort sequences.&lt;br /&gt;
&lt;br /&gt;
== File Formats ==&lt;br /&gt;
Quite a number of different file formats are involved in the localization process. The following list is not complete and may be inaccurate: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Extension&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.002cm solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Desription&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .hrc&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| header for resource files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .properties&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| java property files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .po&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| contains the translated strings from a .pot file. Used on the pootle server. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .pot&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| created by gettext from source files. Contains strings that need translation. Not used by OpenOffice except as part of the [http://translate.sourceforge.net/wiki/pootle/index pootle server] update. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .res&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| created by transex3 from .srs files. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .sdf&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| used to store localized/localizable strings and their origins. Comparable to .po files. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .src&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| source for resource files Most strings used in the GUI are defined in .src files. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .srs&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| Made by rsc (which calls rscpp and rsc2) from multiple src files with *all* language strings included.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .tree&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| help files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xcd&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml files only in postprocess&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xcs&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml file for java&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xcu&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml files for UI&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xhp&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| AOO help files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xliff&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| a format with the same usage of .po, but it has more functionalities and is standardized. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| .xrm&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;&amp;quot;| xml readme file&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
== Tools ==&lt;br /&gt;
A small set of tools are involved in the localization process. They mostly extract strings from source files and merge the translated strings back in, or transform between different data formats. &lt;br /&gt;
&lt;br /&gt;
The following list show the tools used in the workflow: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;tool&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;description&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;build&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;|  Standard build tool&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;generateLanguage&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;|  Integrated in build to extract text and generate resource files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;updateLanguage&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;|   Integrated in build to update native language files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;jpropex&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;|   Called from generateLanguage to translate .properties files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;pootle server&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;&amp;quot;|   Standard translation server, with extensions for AOO&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== generateLanguage ===&lt;br /&gt;
This tool is normally hidden in the makefiles. It is a command line tool, sources are in l10ntools.&lt;br /&gt;
&lt;br /&gt;
The tool operates in two modes, extract/generate. Each mode is described in the following, but the commonalities are described below.&lt;br /&gt;
&lt;br /&gt;
The tool takes a number of parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;--extract&amp;#039;&amp;#039;&amp;#039;, used to generate a language file from one or more source files,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;--update&amp;#039;&amp;#039;&amp;#039;, used to update source files from a language file,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;--useExt&amp;#039;&amp;#039;&amp;#039;, used to overwrite the file extension,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;--langFile&amp;#039;&amp;#039;&amp;#039;, used to name the langauge file,&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;--sourceFiles&amp;#039;&amp;#039;&amp;#039;, used to pass a file list&amp;lt;br/&amp;gt; Emphasis has been on speed, therefore the tool require all files on the command line (for a directory) in order to only handle any file once.&lt;br /&gt;
&lt;br /&gt;
==== --extract ====&lt;br /&gt;
When extracting text from sources, each file given on the command line is scanned according to extension, and the texts are added to the language file. The language file is of the same type that translators use for translation, but it is still an intermediary file in the sense that it only contains the extracted text.&lt;br /&gt;
&lt;br /&gt;
==== --generate ====&lt;br /&gt;
With this switch, the directory extras/l10n/source is searched for language files with the given name, the files are loaded into a translation memory. Then each file given on the command line is updated with the contents of all native language files (of course only for the texts in this file).&lt;br /&gt;
&lt;br /&gt;
=== UpdateLanguange ===&lt;br /&gt;
This tool is normally hidden in the makefiles. It is a command line tool, sources are in l10ntools.&lt;br /&gt;
&lt;br /&gt;
The tool is only used to build the directory extras/l10n.&lt;br /&gt;
&lt;br /&gt;
The tool takes the generated language files kept in the staging area, and merges them with the native language files. Remark the native language file is only written if there are updates !!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pootle server ===&lt;br /&gt;
The standard pootle server lack a couple of features needed, these must either be extended in the pootle server project, or as local addons:&lt;br /&gt;
&lt;br /&gt;
==== Mark ownership of files, by download ====&lt;br /&gt;
When a file/file-set is downloaded, the files should be marked locally in the pootle server, with timestamp, and who has the file (comment field ?)&lt;br /&gt;
&lt;br /&gt;
This enables the team coordinator to track offline files/work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Download fileset ====&lt;br /&gt;
It should be possible to mark files for download, and then get them as a set, instead of having to download each single file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Upload fileset ====&lt;br /&gt;
It should be possible to upload a fileset (use same name convention as stored in pootle), instead of having to upload each single file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Who has a file ====&lt;br /&gt;
It should be possible to see who has downloaded a file and when it was done.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Markings ====&lt;br /&gt;
Each file should have the following marks:&lt;br /&gt;
&lt;br /&gt;
Lent out, to be reviewed, to be tested, Ok&lt;br /&gt;
&lt;br /&gt;
Each message should have the following marks:&lt;br /&gt;
&lt;br /&gt;
Suggestion, to be reviewed, to be tested, Ok&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SVN capabilities ====&lt;br /&gt;
The pootle server should have a easy way for a team coordinator (also committer) to refresh the database from SVN and an easy way to commit file changes (using the committer userId)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Review feature ====&lt;br /&gt;
The review feature of pootle should have 2 extension:&lt;br /&gt;
&lt;br /&gt;
* Possibility to ignore a violation of e.g. bracket control on a single text&lt;br /&gt;
* Check word/term usage for consistency (is Cancel translated identically?)&amp;lt;br/&amp;gt; The goal of the review must be that there are none warnings.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Temporary: Discussion on .po versus .xliff ==&lt;br /&gt;
There seems to have been big discussions on file format, the above described workflow DOES NOT depend on the file format.&lt;br /&gt;
&lt;br /&gt;
However there are advantages and short commingles of both formats:&lt;br /&gt;
&lt;br /&gt;
=== .po ===&lt;br /&gt;
This is a very simple format, even though it is not recommend to edit with vi/notepad. It is widely used.&lt;br /&gt;
&lt;br /&gt;
==== Advantages ====&lt;br /&gt;
* We have it today, and the offline translators have tools like poEdit installed&lt;br /&gt;
&lt;br /&gt;
==== Disadvantages ====&lt;br /&gt;
* It provided no standard facility to store originating file names, this must be done in a comment.&lt;br /&gt;
* It provided no facility for status of the translation (like: not-translated, not-reviewed...)&lt;br /&gt;
&lt;br /&gt;
=== .xliff ===&lt;br /&gt;
This is a simple XML format, and can be edited with a standard xml editor even though it is not recommended. It is used more or less solely for translation.&lt;br /&gt;
&lt;br /&gt;
A recommended multi-platform openSource editor is e.g. virtaal from the translation toolkit.&lt;br /&gt;
&lt;br /&gt;
==== Advantages  ====&lt;br /&gt;
* It can store originating file names as an XML tag.&lt;br /&gt;
* It has a status tag of the translation (like: not-translated, not-reviewed...)&lt;br /&gt;
* It is supported by pootle server&lt;br /&gt;
&lt;br /&gt;
==== Disadvantages ====&lt;br /&gt;
* Offline translators need to get used to a new tool&lt;br /&gt;
&lt;br /&gt;
[[Category:Localization]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Localization_AOO/workPlan&amp;diff=235784</id>
		<title>Localization AOO/workPlan</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Localization_AOO/workPlan&amp;diff=235784"/>
		<updated>2014-12-25T22:11:05Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Clarify this is a proposal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Note|This page is about a proposal, codename genLang, not implemented yet.}}&lt;br /&gt;
&lt;br /&gt;
The following is a milestone plan for transition from the current l10n to the new l10n.&lt;br /&gt;
&lt;br /&gt;
The plan is updated whenever something major has happened, and only the missing parts are described.&lt;br /&gt;
&lt;br /&gt;
There are 2 separate project, which will be executed in parallel:&lt;br /&gt;
&lt;br /&gt;
== Information project ==&lt;br /&gt;
This project is the interface to offline translators, NLC and people interested in l10n.&lt;br /&gt;
&lt;br /&gt;
The milestones are as follows&lt;br /&gt;
* Update all of wiki localization/l10n&lt;br /&gt;
* Update country specific pages and contact NLC to get things running&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Due to what seems to a conflict of interest, this part has been postponed&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
== Development project ==&lt;br /&gt;
This project is mainly developer and integrator oriented.&lt;br /&gt;
&lt;br /&gt;
The milestones are as follows:&lt;br /&gt;
* change l10n tools to one tool (genLang) that generates module specific files (instead of a file pr source) and not sdf file&lt;br /&gt;
* build &amp;quot;extraction&amp;quot; in genLang tool&lt;br /&gt;
* update local git branch, with svn trunk (requires committer)&lt;br /&gt;
* build &amp;quot;merge&amp;quot; in genLang tool&lt;br /&gt;
* update local git branch, with svn trunk (requires committer)&lt;br /&gt;
* QA test of &amp;quot;extraction&amp;quot; process&lt;br /&gt;
* update procedures for getting text to pootle&lt;br /&gt;
* build &amp;quot;generate&amp;quot; in genLang tool&lt;br /&gt;
* update local git branch, with svn trunk (requires committer)&lt;br /&gt;
* build &amp;quot;insert&amp;quot; in genLang tool&lt;br /&gt;
* update local git branch, with svn trunk (requires committer)&lt;br /&gt;
* QA test of flow to/from sources&lt;br /&gt;
* change build/make to include new target, I need someone to ping-pong with about the best way forward&lt;br /&gt;
&lt;br /&gt;
The second phase awaits the outcome of a discussion with pootle people (can SVN be used, etc), but assuming yes:&lt;br /&gt;
* Update Pootle server to work on SVN, here I need help since I have no access at all&lt;br /&gt;
* Update Pootle server with missing funnctionality&lt;br /&gt;
* QA whole process, help would be appreciated (4 eyes are better than 2).&lt;br /&gt;
* update documentation.&lt;br /&gt;
&lt;br /&gt;
it can be seen, that I need a lot of communication with a committer just for the pure work, I would anyhow appreciate input/comments from time to time.&lt;br /&gt;
&lt;br /&gt;
The total calendar time needed is about 2 months, if the committer and I have a very close working order.&lt;br /&gt;
&lt;br /&gt;
[[Category:L10n]]&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Tinderbox&amp;diff=235684</id>
		<title>Tinderbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Tinderbox&amp;diff=235684"/>
		<updated>2014-10-09T20:59:25Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Deprecate outdated page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tinderbox]]&lt;br /&gt;
&lt;br /&gt;
{{Documentation/Outdated}}&lt;br /&gt;
&lt;br /&gt;
See [[Buildbot]] for current content.&lt;br /&gt;
&lt;br /&gt;
See the [https://wiki.openoffice.org/w/index.php?title=Tinderbox&amp;amp;action=history revision log] for historical content.&lt;br /&gt;
&lt;br /&gt;
[[Category:Build_System]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Pootle_User_Guide&amp;diff=235547</id>
		<title>Pootle User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Pootle_User_Guide&amp;diff=235547"/>
		<updated>2014-09-07T16:32:28Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/MasterTOC&lt;br /&gt;
|booktitle=[[Pootle_User_Guide|Pootle User Guide]]&lt;br /&gt;
|toccontent=*[[Pootle_User_Guide/Registration_and_Login|Registration and Login]]&lt;br /&gt;
*[[Pootle_User_Guide/Online_Pootle_User_Interface|Overview Pootle UI]]&lt;br /&gt;
*[[Pootle_User_Guide/Offline_Translation|Offline Translation]]&lt;br /&gt;
*[[Pootle_User_Guide/Quality_Assurance|Quality Assurance]]&lt;br /&gt;
*[[Pootle_User_Guide/Release_Localized_Build|Releasing a Localized Build]]&lt;br /&gt;
*[[Pootle_User_Guide/Technical_Helpers|Technical Helpers]]&lt;br /&gt;
*[[Pootle_User_Guide/Translation_AOO_User_Interface|Translation of the User Interface]]&lt;br /&gt;
*[[Pootle_User_Guide/Translation_Built-in_Help|Translation of the Built-in Help]]&lt;br /&gt;
*[[Pootle_User_Guide/General_Problems|General Problems]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:Pootle User Guide}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[http://www.apache.org The Apache Software Foundation] runs a Pootle Translate service to allow its projects an easy, cooperative way to localize their products. This guide describes how to use Pootle in the Apache OpenOffice project. More than 40 languages (out of the 120+ languages OpenOffice supports) are maintained in Pootle and more coming soon.&lt;br /&gt;
&lt;br /&gt;
For an introduction to the localization process read http://openoffice.apache.org/translate.html and for a more general overview start at http://openoffice.apache.org/get-involved.html.&lt;br /&gt;
&lt;br /&gt;
;[[Pootle_User_Guide/Registration_and_Login|Registration and Login]]: The chapter describes how to become a Translator.&lt;br /&gt;
;[[Pootle_User_Guide/Online_Pootle_User_Interface|Overview Pootle UI]]: The chapter introduces you to the elements in the user interface of Pootle. &lt;br /&gt;
;[[Pootle_User_Guide/Offline_Translation|Offline Translation]]: The chapter explains how to translate offline.&lt;br /&gt;
;[[Pootle_User_Guide/Quality_Assurance|Quality Assurance]]: The chapter provides tips to ensure a high quality of the translation.&lt;br /&gt;
;[[Pootle_User_Guide/Release_Localized_Build|Releasing a Localized Build]]: The chapter describes the steps needed to provide a localized version of Apache OpenOffice.&lt;br /&gt;
;[[Pootle_User_Guide/Technical_Helpers|Technical Helpers]]: The chapter shows you helpers for the process of translation.&lt;br /&gt;
;[[Pootle_User_Guide/Translation_AOO_User_Interface|Translation of the User Interface]]: The chapter lists tips and tricks for translating the user interface of Apache OpenOffice.&lt;br /&gt;
;[[Pootle_User_Guide/Translation_Built-in_Help|Translation of the Built-in Help]]:  The chapter lists tips and tricks for translating the built-in help of Apache OpenOffice.&lt;br /&gt;
;[[Pootle_User_Guide/General_Problems|General Problems]]: The chapter gives you assistance in general problems, which might occur during the translating process.&lt;br /&gt;
&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
(The description here uses the dummy language xy)&lt;br /&gt;
We have agreed, that all localized content in this Wiki goes to the subfolder XY of the main Wiki URL. Notice the upper case of the subfolder name. If a page is a translation of an English page, the title in the URL is the same as the English one. Example: The URL of the translation of the page http://wiki.openoffice.org/wiki/Pootle_User_Guide has to be http://wiki.openoffice.org/wiki/XY/Pootle_User_Guide in the language xy.&lt;br /&gt;
To connect the orignal and translated page insert the line&lt;br /&gt;
 [[xy:XY/Pootle_User_Guide]]&lt;br /&gt;
at the bottom of the original page, ordered alphabetically by the namespace. Of cause use instead of Pootle_User_Guide the real page title. If your native language community has decided to use another structure under XY, you should ask the community members before you start translation.&lt;br /&gt;
To get all the structure and formatting from the original page, open it in edit mode and copy the whole content to your new page, then cancel editing of the original page.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[de:DE/Pootle_User_Guide]]&lt;br /&gt;
[[it:IT/Localizzazione/Pootle]]&lt;br /&gt;
[[ja:JA/translation/Pootle_User_Guide]]&lt;br /&gt;
[[ko:KO/Pootle 사용자 가이드]]&lt;br /&gt;
[[nl:NL/Localisatie/Pootle gebruikersgids]]&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
	<entry>
		<id>https://wiki.openoffice.org/w/index.php?title=Apache_OpenOffice_Wiki:About&amp;diff=235545</id>
		<title>Apache OpenOffice Wiki:About</title>
		<link rel="alternate" type="text/html" href="https://wiki.openoffice.org/w/index.php?title=Apache_OpenOffice_Wiki:About&amp;diff=235545"/>
		<updated>2014-09-06T11:09:21Z</updated>

		<summary type="html">&lt;p&gt;Pescetti: Update obsolete text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Main_Page|This Wiki]] ([http://wiki.openoffice.org/ http://wiki.services.openoffice.org/]) extends the OpenOffice.org domain with a collaboration tool for work on the Apache OpenOffice project.&lt;br /&gt;
&lt;br /&gt;
[http://www.openoffice.org http://www.openoffice.org] provides more information about Apache OpenOffice - the [http://about.openoffice.org/index.html#project project] and the [http://about.openoffice.org/index.html#product product].&lt;br /&gt;
&lt;br /&gt;
[[OpenOffice.org_Wiki:Copyrights|Copyrights]] ([http://wiki.services.openoffice.org/wiki/OpenOffice.org_Wiki:Copyrights http://wiki.services.openoffice.org/wiki/OpenOffice.org_Wiki:Copyrights]) describes the licensing scheme for the OpenOffice.org domain, including this wiki.&lt;br /&gt;
&lt;br /&gt;
To contact the project, see the [http://www.openoffice.org/contact_us.html Contact Us] page.&lt;br /&gt;
&lt;br /&gt;
For administrative help &amp;#039;&amp;#039;&amp;#039;with this wiki only&amp;#039;&amp;#039;&amp;#039;, contact the [[Project:Administrators|Administrators]].&lt;/div&gt;</summary>
		<author><name>Pescetti</name></author>
	</entry>
</feed>