********************************************* * BUILDING OPENOFFICE.ORG ON DEBIAN "WOODY" * ********************************************* I strongly suggest to use checkinstall instead of "make install", it is very useful; I'm using checkinstall_1.5.3-2_i386.deb ************************** PREPARE THE BUILD PLATFORM ************************** I suppose that you have already installed gcc 2.95.4. Maybe you do not have installed some packages that are needed to build OOo: apt-get install libxaw6-dev libxaw7-dev xutils apt-get install libgtk1.2-dev liborbit-dev apt-get install libgtk2.0-dev libpango1.0-dev apt-get install autoconf gettext libpam0g-dev unzip zip -------------------------------------------- Install a sufficiently recent libart version -------------------------------------------- libart_lgpl >= 2.3.13 is required. Version 2.3.16 is available in the Mandrake Linux 9.2 sources. tar xvjf libart_lgpl-2.3.16.tar.bz2 cd libart_lgpl-2.3.16 ./configure --prefix=/opt/ooo/libart --disable-shared --enable-static make make install export PKG_CONFIG_PATH=/opt/ooo/libart/lib/pkgconfig -------------------------------------------- Install a gcc version that can build OOo 1.1 -------------------------------------------- OOo 1.1 does not build with gcc 2.95. You can build it using gcc 3.0.4, that can be installed running apt-get install gcc-3.0 g++-3.0 For performance reasons, it is better to build OOo with a more recent compiler, such as gcc 3.2 or gcc 3.3. Note that this should be avoided if the built binaries will run on a GNU/Linux system with glibc < 2.2.4. Note also the following statements. gcc-3.3.1/INSTALL/specific.html _________________________________________________________________ *-*-linux-gnu Versions of libstdc++-v3 starting with 3.2.1 require bugfixes present in glibc 2.2.5 and later. More information is available in the libstdc++-v3 documentation. gcc-3.3.1/INSTALL/specific.html _________________________________________________________________ i?86-*-linux* As of GCC 3.3, binutils 2.13.1 or later is required for this platform. See [91]bug 10877 for more information. Hence, if you want to build OOo 1.1 on Woody with gcc 3.3.1 (gcc 3.3 is not supported for the OOo build, whereas gcc 3.3.1 is), you need also binutils newer than the ones provided by Woody. To this end, I have built binutils 2.13.90.0.18; I have chosen just version 2.13.90.0.18 for a very simple reason: I have all Mandrake 9.1 sources and 2.13.90.0.18 is just the binutils version used in Mandrake 9.1. Build binutils (for gcc 3.3.1) ------------------------------ tar xvjf binutils-2.13.90.0.18.tar.bz2 cd binutils-2.13.90.0.18 ./configure --enable-shared --prefix=/opt/ooo make make install cd .. Then add /opt/ooo/lib to /etc/ld.so.conf and run ldconfig export PATH=/opt/ooo/bin:$PATH export LD_LIBRARY_PATH=/opt/ooo/lib:$LD_LIBRARY_PATH Build gcc 3.3.1 --------------- tar xvjf gcc-3.3.1.tar.bz2 cd gcc-3.3.1 ./configure --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --program-suffix=-3.3 --prefix=/opt/ooo make make install ------------------------------------------------------------------ Build a patched Mozilla 1.0.0 for the mozab connectivity component ------------------------------------------------------------------ This build has to be done with *the same* compiler that will be used to build OOo. To build with gcc 3.3.1: ------------------------ Be sure that /opt/ooo/lib *is* in /etc/ld.so.conf and that directories containing libraries of other compilers are *not* in /etc/ld.so.conf and then run ldconfig export PATH=/opt/ooo/bin:$PATH export LD_LIBRARY_PATH=/opt/ooo/lib:$LD_LIBRARY_PATH export CC=gcc-3.3 export CXX=g++-3.3 For this build, the following files are needed: - mozilla-1.0.0-XPIDL_WARNING-gcc331.patch - patch-mozilla-1.0.txt - mozilla-1.0.0.configure These files are available in the MOZAB.tar.gz tarball. patch-mozilla-1.0.txt can also be downloaded from the OOo issuezilla, it is attached to issue 8239: http://www.openoffice.org/issues/show_bug.cgi?id=8239 Some other relevant URLs: http://www.openoffice.org/issues/show_bug.cgi?id=5361 http://www.openoffice.org/issues/show_bug.cgi?id=6883 http://www.openoffice.org/issues/show_bug.cgi?id=17187 tar xvzf mozilla-source-1.0.0.tar.gz cd mozilla patch -p1 < mozilla-1.0.0-XPIDL_WARNING-gcc331.patch (needed to compile Mozilla with gcc 3.3.1) patch -p0 < patch-mozilla-1.0.txt sh mozilla-1.0.0.configure make #make install cd .. #sh fix_moz_zipped.sh ----------------- Install JDK 1.4.1 ----------------- You can download it from the SUN web site: http://www.sun.com/ Please note that JDK is proprietary software. Note: at the time of this writing, the build with JDK 1.4.2 is still not supported. Download j2sdk-1_4_1_01-linux-i586.bin mkdir /usr/java cp j2sdk-1_4_1_01-linux-i586.bin /usr/java cd /usr/java chmod +x j2sdk-1_4_1_01-linux-i586.bin ./j2sdk-1_4_1_01-linux-i586.bin rm j2sdk-1_4_1_01-linux-i586.bin export JAVA_HOME=/usr/java/j2sdk1.4.1_01 cd ----------- Install Ant ----------- You need Ant to successfully build the projects using Java. Extract apache-ant-1.5.3-1-src.tar.bz2 (I have extracted it from ant-1.5.3-2jpp.src.rpm, available at http://www.jpackage.org/) and build it: tar xvjf apache-ant-1.5.3-1-src.tar.bz2 cd apache-ant-1.5.3-1 export JAVA_HOME=/usr/java/j2sdk1.4.1_01 ./build.sh cd build cp -a * /usr/java/j2sdk1.4.1_01 cd .. cd dist cp -a * /usr/java/j2sdk1.4.1_01 cd .. cp -a lib /usr/java/j2sdk1.4.1_01 ************************ BUILD OPENOFFICE.ORG 1.1 ************************ fix_moz_zipped.sh, used in the following, is available in the MOZAB.tar.gz tarball. tar xvjf OOo_1.1.0_source.tar.bz2 sh fix_moz_zipped.sh cd oo_1.1_src/ Apply the patches provided in the PATCHES.tar.gz tarball. Images for OOo 1.1 with the TELUG logo are provided in the LOGHI-OOO-TELUG.tar.gz tarball: - oo_product-telug.bmp - openabout-telug.bmp - openintro-telug.bmp Put oo_product-telug.bmp in readlicense_oo/source/cinema/ Put openabout-telug.bmp and openintro-telug.bmp in offmgr/res/ Apply the patch starmath-21351.patch, that has been proposed as enhancement in issue 21351 to fix some problems reported by some users: http://www.openoffice.org/issues/show_bug.cgi?id=21351 Replace starmath/inc/edit.hxx and starmath/source/edit.cxx with their versions 1.11.10.1 and 1.28.74.3, respectively, taken from the CVS. These CVS versions fix the issue 15169: http://www.openoffice.org/issues/show_bug.cgi?id=15169 edit.hxx.1.11.10.1 and edit.cxx.1.28.74.3 are provided in the starmath-cvs.tar.gz tarball. Now consider files provided in the FIX_JARS.tar.gz tarball: - fix_jars.sh - fix_jars.patch - fix_jars.txt The FIX_JARS.tar.gz tarball has been proposed in issue 21678 to fix a license problem: http://www.openoffice.org/issues/show_bug.cgi?id=21678 - fix_jars.sh removes some .jar's that are not needed for the build and two proprietary .jar's - fix_jars.patch patches the OOo 1.1.0 sources to perform the build without using the proprietary .jar's mentioned in issue 21678 - fix_jars.txt explains how to perform the build replacing such proprietary .jar's with open source .jar's If you are not affected by the license problem reported in issue 21678, you can build OOo 1.1.0 without using FIX_JARS.tar.gz at all. Edit crashrep/prj/build.lst to remove the "gtk" entry. export PKG_CONFIG_PATH=/opt/ooo/libart/lib/pkgconfig export JAVA_HOME=/usr/java/j2sdk1.4.1_01 export PATH=/usr/java/j2sdk1.4.1_01/bin:$PATH export LD_LIBRARY_PATH=/usr/java/j2sdk1.4.1_01/jre/lib:$LD_LIBRARY_PATH To build with gcc 3.0.4: ------------------------ Be sure that directories containing libraries of other compilers are *not* in /etc/ld.so.conf and then run ldconfig export CC=gcc-3.0 export CXX=g++-3.0 To build with gcc 3.3.1: ------------------------ Be sure that /opt/ooo/lib *is* in /etc/ld.so.conf and that directories containing libraries of other compilers are *not* in /etc/ld.so.conf and then run ldconfig export PATH=/opt/ooo/bin:$PATH export LD_LIBRARY_PATH=/opt/ooo/lib:$LD_LIBRARY_PATH export CC=gcc-3.3 export CXX=g++-3.3 Then, configure for the build... cd config_office/ On Woody, autoconf prepares a configure rather different than the one bundled with the sources tarball. cp configure configure.orig autoconf ./configure --enable-libart --disable-crashdump --with-lang=ENUS,ITAL cd .. . LinuxIntelEnv.Set.sh ./bootstrap dmake The build lasts about 5-6 hours on an Athlon 1700. After the build, in instsetoo/unxlngi4.pro/39/normal you find the Italian version; in instsetoo/unxlngi4.pro/01/normal you find the English version; #in instsetoo/unxlngi4.pro/49/normal you find the German version. To obtain an Italian build with the help in Italian instead of in English, download helpcontent_39_unix.tgz from ftp://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent and extract it into the directory solver/645/unxlngi4.pro/pck (a file will be overwritten, no panic). Then go to the instsetoo directory and run the following commands: rm -rf unxlngi4.pro build