Difference between revisions of "How to build Symphony's source code"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Software requirements)
m (+ cat)
 
(31 intermediate revisions by 2 users not shown)
Line 11: Line 11:
 
| intel x86
 
| intel x86
 
|-
 
|-
| Linux - Suse 10,
+
| Linux - Suse Enterprise Desktop 11
| x86
+
| intel x86
 
|-
 
|-
| Mac OS X - 10.5 / 10.6
+
| Mac OS X - 10.5 / 10.6 / 10.7
 
| intel x86
 
| intel x86
 
|}
 
|}
  
It's easy for developer to reuse Apache OpenOffice's build environment to build Symphony's source code. This article assumes that you have already made a successful build for Apache OpenOffice 3.4. If you have not, please refer to the following pages.
+
It's easy for developer to reuse Apache OpenOffice 3.4 build environment to build Symphony's source code. This article assumes that you have already made a successful Apache OpenOffice 3.4 build. If you have not, please refer to the following pages.
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Basic_Concepts Basic Concepts]
+
*[[Documentation/Building_Guide/Basic_Concepts|Basic Concepts]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Build_Requirements Build Requirements]
+
*[[Documentation/Building_Guide/Build_Requirements|Build Requirements]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Windows Building on Windows]
+
*[[Documentation/Building_Guide/Building_on_Windows|Building on Windows]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Building on MacOSX]
+
*[[Documentation/Building_Guide/Building_on_MacOSX|Building on MacOSX]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Linux Building on Linux]
+
*[[Documentation/Building_Guide/Building_on_Linux|Building on Linux]]
 +
 
  
 
== Getting Symphony's source code ==
 
== Getting Symphony's source code ==
You can get Symphony's source code from [https://svn.apache.org/repos/asf/incubator/ooo/symphony/trunk Apache OpenOffice SVN server] (It's not available now. Please wait for the announcement). Please make sure that all the source code directoies are under SRC_ROOT and you can locate to all the modules at "$SRC_ROOT/main"
+
You can get Symphony's source code from https://svn.apache.org/repos/asf/incubator/ooo/symphony/trunk/. Please make sure that all the source code directories are under SRC_ROOT and you can locate all modules at "$SRC_ROOT/main"
 +
 
 +
And icu 4.8.1 source can be download from http://download.icu-project.org/files/icu4c/4.8.1/icu4c-4_8_1-src.tgz, then change its name to af36f635271a239d76d038d6cf8da8df-icu4c-4_8_1-src.tgz and put it in $SRC_ROOT/ext_sources.
 +
 
 +
The directory/file list under $SRC_ROOT should be
 +
*ext_libraries
 +
*ext_sources
 +
*extras
 +
*help
 +
*l10n
 +
*main
 +
*README
  
 
== Building Symphony on Windows ==
 
== Building Symphony on Windows ==
Line 49: Line 61:
 
*gdiplus.dll
 
*gdiplus.dll
 
** You can get it from http://www.microsoft.com/en-us/download/details.aspx?id=18909. Please put it in $SRC_ROOT/main/external/gdiplus
 
** You can get it from http://www.microsoft.com/en-us/download/details.aspx?id=18909. Please put it in $SRC_ROOT/main/external/gdiplus
 +
*msvcp80.dll / msvcr80.dll
 +
** You can get them from C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd. Please put them in $SRC_ROOT/main/external/msvcp80
 +
*Microsoft_VC90_CRT_x86.msm / Microsoft_VC90_DebugCRT_x86.msm / policy_9_0_Microsoft_VC90_CRT_x86.msm / policy_9_0_Microsoft_VC90_DebugCRT_x86.msm
 +
** You can get them from C:\Program Files\Common Files\Merge Modules. Please put them in $SRC_ROOT/main/external/msm90
 
*Mozilla binary distributions
 
*Mozilla binary distributions
 
** You can get WNTMSCIinc.zip / WNTMSCIlib.zip / WNTMSCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
 
** You can get WNTMSCIinc.zip / WNTMSCIlib.zip / WNTMSCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
Line 82: Line 98:
 
   build --all -P4
 
   build --all -P4
  
You can finnaly get the installation packages on Windows at  
+
You can finally get the installation packages on Windows at  
 
   $SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Win_x86_install-arc_en-US.zip
 
   $SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Win_x86_install-arc_en-US.zip
 
   $SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe
 
   $SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe
 +
  
 
== Building Symphony on MacOSX ==
 
== Building Symphony on MacOSX ==
Line 91: Line 108:
 
*Mac OS X 10.5.8 / Xcode 3.0 / MacOSX10.5.sdk / gcc 4.0.1 / jdk 1.6
 
*Mac OS X 10.5.8 / Xcode 3.0 / MacOSX10.5.sdk / gcc 4.0.1 / jdk 1.6
 
*Mac OS X 10.6.8 / Xcode 3.2.6 / MacOSX10.5.sdk / gcc 4.2.1 / jdk 1.6
 
*Mac OS X 10.6.8 / Xcode 3.2.6 / MacOSX10.5.sdk / gcc 4.2.1 / jdk 1.6
 +
*Mac OS X 10.7.4 / Xcode 3.2.6 / MacOSX10.5.sdk / gcc 4.2.1 / jdk 1.6
 +
*Mozilla binary distributions
 
** You can get MACOSXGCCIinc.zip / MACOSXGCCIlib.zip / MACOSXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
 
** You can get MACOSXGCCIinc.zip / MACOSXGCCIlib.zip / MACOSXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
  
Line 105: Line 124:
 
       --enable-category-b \
 
       --enable-category-b \
 
       --enable-bundled-dictionaries
 
       --enable-bundled-dictionaries
  chmod a+x fetch_tarballs.sh
 
 
   ./bootstrap
 
   ./bootstrap
 
   source MacOSXX86Env.Set.sh
 
   source MacOSXX86Env.Set.sh
Line 111: Line 129:
 
   build --all -P4
 
   build --all -P4
  
You can finnaly get the installation packages on MacOSX at  
+
You can finally get the installation packages on MacOSX at  
 
   $SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_MacOS_x86_install-arc_en-US.tar.gz
 
   $SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_MacOS_x86_install-arc_en-US.tar.gz
 
   $SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/dmg/install/en-US/OOo_3.4.0_MacOS_x86_install_en-US.dmg
 
   $SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/dmg/install/en-US/OOo_3.4.0_MacOS_x86_install_en-US.dmg
  
 
== Building Symphony on Linux - Ubuntu ==
 
== Building Symphony on Linux - Ubuntu ==
You can make a full build for Symphony on Ubuntu 11.04/11.10.
+
You can make a full build for Symphony with gcc 4.5 on Ubuntu 11.04
 
=== Software requirements ===
 
=== Software requirements ===
*Ubuntu 11.04 / 11.10
+
*Ubuntu 11.04
 
*Mozilla binary distributions
 
*Mozilla binary distributions
 
** You can get LINUXGCCIinc.zip / LINUXGCCIlib.zip / LINUXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
 
** You can get LINUXGCCIinc.zip / LINUXGCCIlib.zip / LINUXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
 
*Additional packages
 
*Additional packages
 
** Please run the following command to install all the additional packages
 
** Please run the following command to install all the additional packages
   sudo apt-get install subversion g++ gcc bison flex libarchive-zip-perl libcups2-dev libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev junit junit4 default-jdk default-jre default-jre-headless librsvg2-dev tcsh autoconf libssl-dev
+
   sudo apt-get install subversion g++ gcc bison flex libarchive-zip-perl libcups2-dev libpam0g-dev gperf  
 +
  libfreetype6-dev libxaw7-dev libfontconfig1-dev libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant  
 +
  libgtk2.0-dev junit junit4 default-jdk default-jre default-jre-headless librsvg2-dev tcsh autoconf libssl-dev
  
 
=== Starting build ===
 
=== Starting build ===
Line 137: Line 157:
 
       --enable-category-b \
 
       --enable-category-b \
 
       --enable-bundled-dictionaries
 
       --enable-bundled-dictionaries
  sudo chmod a+x fetch_tarballs.sh
 
 
   ./bootstrap
 
   ./bootstrap
 
   source LinuxX86Env.Set.sh
 
   source LinuxX86Env.Set.sh
Line 143: Line 162:
 
   build --all -P4
 
   build --all -P4
  
You can finnaly get the installation packages on Ubuntu at  
+
You can finally get the installation packages on Ubuntu at  
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS/*.deb
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS/*.deb
 
  
 
== Building Symphony on Linux - Suse ==
 
== Building Symphony on Linux - Suse ==
Line 152: Line 170:
 
=== Software requirements ===
 
=== Software requirements ===
 
*Suse Enterprise Desktop 11
 
*Suse Enterprise Desktop 11
 +
*jdk 1.6
 +
** You can get it from http://java.sun.com/javase/6
 +
*Ant
 
*Mozilla binary distributions
 
*Mozilla binary distributions
 
** You can get LINUXGCCIinc.zip / LINUXGCCIlib.zip / LINUXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
 
** You can get LINUXGCCIinc.zip / LINUXGCCIlib.zip / LINUXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
 
*Additional packages
 
*Additional packages
** Please install addtional packages : gcc, g++, bison, flex, perl, cups, pam, gperf, freetype, xaw, fontconfig, xrandr, patch, gconf, gnomevfs, ant, gtk, junit, jdk, svg, tcsh, autoconf, ssl
+
** Please install addtional packages : gcc, g++, autoconf, cups-devel, pam-devel, gperf, bison, flex, gconf2-devel, gnome-vfs2-devel
  
 
=== Starting build ===
 
=== Starting build ===
Line 164: Line 185:
 
       --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \
 
       --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \
 
       --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \
 
       --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \
 +
      --with-jdk-home="/usr/java/jdk1.6.0_32" \
 +
      --with-ant-home="/opt/dev.tools/apache-ant-1.7.0" \
 
       --without-junit \
 
       --without-junit \
 
       --disable-odk \
 
       --disable-odk \
Line 169: Line 192:
 
       --enable-category-b \
 
       --enable-category-b \
 
       --enable-bundled-dictionaries
 
       --enable-bundled-dictionaries
  sudo chmod a+x fetch_tarballs.sh
 
 
   ./bootstrap
 
   ./bootstrap
 
   source LinuxX86Env.Set.sh
 
   source LinuxX86Env.Set.sh
Line 175: Line 197:
 
   build --all -P4
 
   build --all -P4
  
You can finnaly get the installation packages on Suse at  
+
You can finally get the installation packages on Suse at  
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz
   $SRC_ROOT/main//instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS/*.rpm
+
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/*.rpm
 +
 
 +
[[Category:Build System]]

Latest revision as of 14:55, 14 November 2012

Symphony officially can be built on the following platforms

System Architecture
Windows XP / 7 intel x86
Linux - Ubuntu 11.04 intel x86
Linux - Suse Enterprise Desktop 11 intel x86
Mac OS X - 10.5 / 10.6 / 10.7 intel x86

It's easy for developer to reuse Apache OpenOffice 3.4 build environment to build Symphony's source code. This article assumes that you have already made a successful Apache OpenOffice 3.4 build. If you have not, please refer to the following pages.


Getting Symphony's source code

You can get Symphony's source code from https://svn.apache.org/repos/asf/incubator/ooo/symphony/trunk/. Please make sure that all the source code directories are under SRC_ROOT and you can locate all modules at "$SRC_ROOT/main"

And icu 4.8.1 source can be download from http://download.icu-project.org/files/icu4c/4.8.1/icu4c-4_8_1-src.tgz, then change its name to af36f635271a239d76d038d6cf8da8df-icu4c-4_8_1-src.tgz and put it in $SRC_ROOT/ext_sources.

The directory/file list under $SRC_ROOT should be

  • ext_libraries
  • ext_sources
  • extras
  • help
  • l10n
  • main
  • README

Building Symphony on Windows

You can make a full build for Symphony with cygwin on Windows platform.

Software requirements

Starting build

You can run the commands below to start a full build on Windows. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.

 cd $SRC_ROOT/main
 autoconf
 ./configure \
     --with-cl-home="/cygdrive/c/dev.tools/vc.2008/VC" \
     --with-mspdb-path="/cygdrive/c/dev.tools/vc.2008/Common7/IDE" \
     --with-asm-home="/cygdrive/c/dev.tools/vc.2008/VC/bin" \
     --with-frame-home="/cygdrive/c/dev.tools/MSSDK_v6.1" \
     --with-psdk-home="/cygdrive/c/dev.tools/MSSDK_v6.1" \
     --with-midl-path="/cygdrive/c/dev.tools/MSSDK_v6.1/Bin" \
     --with-csc-path="/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v3.5" \
     --with-jdk-home="/cygdrive/c/dev.tools/jdk_1.6" \
     --with-ant-home="/cygdrive/c/dev.tools/apache-ant-1.7.0" \
     --with-directx-home="/cygdrive/c/dev.tools/directx" \
     --with-nsis-path="/cygdrive/c/dev.tools/NSIS" \
     --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \
     --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \
     --with-mozilla-build="/cygdrive/c/dev.tools/mozilla-build" \
     --with-use-shell=bash \
     --without-junit \
     --disable-build-mozilla \
     --disable-odk \
     --enable-category-b \
     --enable-bundled-dictionaries
 ./bootstrap
 source winenv.set.sh
 cd instsetoo_native/
 build --all -P4

You can finally get the installation packages on Windows at

 $SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Win_x86_install-arc_en-US.zip
 $SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe


Building Symphony on MacOSX

You can make a full build for Symphony on MacOSX 10.5 / 10.6.

Software requirements

  • Mac OS X 10.5.8 / Xcode 3.0 / MacOSX10.5.sdk / gcc 4.0.1 / jdk 1.6
  • Mac OS X 10.6.8 / Xcode 3.2.6 / MacOSX10.5.sdk / gcc 4.2.1 / jdk 1.6
  • Mac OS X 10.7.4 / Xcode 3.2.6 / MacOSX10.5.sdk / gcc 4.2.1 / jdk 1.6
  • Mozilla binary distributions

Starting build

You can run the commands below to start a full build on MacOSX. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.

 cd $SRC_ROOT/main
 autoconf
 ./configure \
     --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \
     --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \
     --without-junit \
     --disable-odk \
     --disable-build-mozilla \
     --enable-category-b \
     --enable-bundled-dictionaries
 ./bootstrap
 source MacOSXX86Env.Set.sh
 cd instsetoo_native/
 build --all -P4

You can finally get the installation packages on MacOSX at

 $SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_MacOS_x86_install-arc_en-US.tar.gz
 $SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/dmg/install/en-US/OOo_3.4.0_MacOS_x86_install_en-US.dmg

Building Symphony on Linux - Ubuntu

You can make a full build for Symphony with gcc 4.5 on Ubuntu 11.04

Software requirements

  • Ubuntu 11.04
  • Mozilla binary distributions
  • Additional packages
    • Please run the following command to install all the additional packages
 sudo apt-get install subversion g++ gcc bison flex libarchive-zip-perl libcups2-dev libpam0g-dev gperf 
 libfreetype6-dev libxaw7-dev libfontconfig1-dev libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant 
 libgtk2.0-dev junit junit4 default-jdk default-jre default-jre-headless librsvg2-dev tcsh autoconf libssl-dev

Starting build

You can run the commands below to start a full build on Ubuntu. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.

 cd $SRC_ROOT/main
 autoconf
 ./configure \
     --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \
     --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \
     --without-junit \
     --disable-odk \
     --disable-build-mozilla \
     --enable-category-b \
     --enable-bundled-dictionaries
 ./bootstrap
 source LinuxX86Env.Set.sh
 cd instsetoo_native/
 build --all -P4

You can finally get the installation packages on Ubuntu at

 $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz
 $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS/*.deb

Building Symphony on Linux - Suse

You can make a full build for Symphony on Suse 11.

Software requirements

  • Suse Enterprise Desktop 11
  • jdk 1.6
  • Ant
  • Mozilla binary distributions
  • Additional packages
    • Please install addtional packages : gcc, g++, autoconf, cups-devel, pam-devel, gperf, bison, flex, gconf2-devel, gnome-vfs2-devel

Starting build

You can run the commands below to start a full build on Suse. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.

 cd $SRC_ROOT/main
 autoconf
 ./configure \
     --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \
     --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \
     --with-jdk-home="/usr/java/jdk1.6.0_32" \
     --with-ant-home="/opt/dev.tools/apache-ant-1.7.0" \
     --without-junit \
     --disable-odk \
     --disable-build-mozilla \
     --enable-category-b \
     --enable-bundled-dictionaries
 ./bootstrap
 source LinuxX86Env.Set.sh
 cd instsetoo_native/
 build --all -P4

You can finally get the installation packages on Suse at

 $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz
 $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/*.rpm
Personal tools