Open Office
Contents
Introduction to Open Office
OpenOffice.org is a multiplatform and multilingual office suite that is compatible with all other major office suites.
Project Homepage: http://www.openoffice.org
Dependencies
Required
Recommended
Optional
- boost
- desktop-file-utils
- EPM
- Evolution
- GNOME Virtual File System
- libsndfile
- libwpd
- Linux-PAM
- SeaMonkey
- Firefox
- MySpell
- NAS
- OpenLDAP
- SANE
- startup-notification
- unixODBC
Configuration Information
NOTE: If building a 64-bit version of Open Office using Sun's Java, you will need version 1.6 to complete the build successfully. It has been reported that Blackdown's current stable version of Java will successfully build Open Office.
The following are some configuration options that can be passed to Open Office. Each can be passed as an enable/disable or as a with/without option.
--disable-ldap: disables the use of LDAP backend via Netscape/Mozilla or OpenLDAP. |
--enable-lockdown: enables the gconf integration work in OOo. |
--enable-libsn: enables the use of libstartup-notification. |
--disable-mozilla: build without the mozilla provided by OO. |
--disable-odk: disable building the office development kit. |
--disable-qadevooo: disable building the OO.o qa testsuites. |
--disable-fontooo: disable FontOOo; useful if using FontConfig. |
--disable-mathmldtd: disable mathmldtd. |
--enable-evolution2: Enable the built-in evolution 2 addressbook connectivity. |
--disable-cups: disable cups support. |
--disable-fontconfig: disable support for the fontconfig library. |
--disable-gtk: disable use of the Gtk+ vclplug. |
--disable-systray: do not build the system tray quickstarter. |
--enable-cairo: use the Cairo canvas backend. |
--disable-gnome-vfs: disable the use of the Gnome VFS. |
--enable-kde: use Qt/KDE vclplug. |
--disable-kdeab: disable the KDE address book support. |
--disable-binfilter: do not build the legacy binary file formats filters. These filters allow use of older Start Office formats. |
--disable-pasf: disable support for sound using portaudio/sndfile. |
--disable-pam: disable pam support. |
--disable-neon: disable neon and the compilation of webdav binding. |
--with-openldap: enables the use of the OpenLDAP. |
--with-firefox: use Firefox instead of Mozilla Suite for building. Use in conjunction with --with-system-mozilla. |
--with-xulrunner: use XULRunner instead of Mozilla Suite for building. Use in conjunction with --with-system-mozilla. |
--without-fonts do not build Bitstream Vera fonts. |
--with-package-format: specify package format(s) for OOo installsets. |
--with-system-stdlibs: use libstdc++/libgcc_s already on system. |
--with-mozilla-version: choose which version of mozilla to use while building mozilla. Default: 1.7.5. |
--with-mozilla-toolkit: choose which GUI toolkit to use while building mozilla components. Default: gtk2 |
--without-myspell-dicts: do not build the myspell dictionaries. |
--without-nas: removes nas support. |
--with-system-libs: use libs already on system. |
--with-system-zlib: use zlib already on system. |
--with-system-jpeg: use jpeg already on system. |
--with-system-expat: use expat already on system. |
--with-system-freetype: use freetype already on system. |
--with-system-libwpd: use libwpd already on system. |
--with-system-libxml: use libxml already on system. |
--with-system-python: use python already on system. |
--with-system-db: use berkeley db already on system. |
--with-system-odbc-headers: use the odbc headers already on system. |
--with-system-curl: use curl already on system. |
--with-system-boost: use boost already on system. |
--with-system-nas: use nas already on system. |
--with-system-sndfile: use sndfile already on system. |
--with-system-portaudio: use portaudio already on system. |
--with-system-neon: use neon already on system. |
--with-system-myspell: use myspell already on system. |
--with-system-mozilla: use mozilla already on system. |
--with-java: build with[out] Java support. |
--with-lang: build OpenOffice.org with additional language support. English (US) is always included by default. Separate multiple languages with a space. |
--with-dict: build OpenOffice.org with dictionary support. |
--with-build-version: add a custom version tag that will appear in the Help/About box for QA purposes. |
Non-Multilib
Add a few things needed by OpenOffice
If you wish to use --with-firefox --with-system-mozilla=firefox you will need to add the following pkgconfig files. They are assuming firefox-3.5.2 and a install directory of /opt. Also firefox will need to be compiled and installed with LDAP support
cat > /usr/lib/pkgconfig/firefox-plugin.pc << "EOF" prefix=/opt/firefox-3.5.2 exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include datarootdir=${prefix}/share Name: Mozilla Plug-In API Description: Mozilla Plug-In API Version: 3.5 Requires: firefox-xpcom = 3.5 Cflags: -DXP_UNIX -I${includedir}/java -I${includedir}/plugin EOF
cat > /usr/lib/pkgconfig/firefox-xpcom.pc << "EOF" prefix=/opt/firefox-3.5.2 exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include datarootdir=${prefix}/share idldir=IDLDIR Name: XPCOM Description: The Mozilla Cross Platform Component Library Version: 3.5 REQUIRES_NSPR Libs: -L${libdir} -R${libdir} NSPR_RUNPATH -lxpcom -lxul NSPR_LIB Cflags:-I${includedir} -I${includedir}/xpcom -I${includedir}/pref -I${includedir}/string -I${includedir}/expat -I${includedir}/ gtkembedmoz NSPR_INCLUDE EOF
On Pure64 builds
ln -s /usr/lib/libjpeg.so /usr/lib64/libjpeg.so
Configure the package, adding any configuration options you desire: It will take some checking and testing depending on your system and package versions. This script was tested with a successful build. Build time on a 3Ghz Intel runs about 2 hours, So Enjoy!
touch external/unowinreg/unowinreg.dll patch -Np1 -i ../OOo-3.1.1-HEADERFIX-1.patch ./configure --prefix=/opt/openoffice-3.1.1 \ --enable-libart \ --disable-fontooo \ --without-fonts \ --with-system-stdlibs \ --with-system-freetype \ --with-system-expat \ --with-system-libxml \ --with-system-zlib \ --with-build-version=CBLFS \ --with-package-format=native \ --disable-binfilter \ --with-system-cairo \ --enable-cairo \ --enable-opengl \ --enable-dbus \ --with-system-openssl \ --with-system-jpeg \ --with-system-python \ --with-system-poppler \ --with-system-curl \ --with-ant-home=/opt/ApacheAnt \ --with-system-neon \ --disable-mozilla && cd .. && umask 0022 && unset LANG LC_ALL
Create the Open Office make utility and set the environment variables for the build:
./bootstrap && source Linux*.Set.sh
Compile the package:
dmake
To build a single "project" as it is referred to by Open Office, enter the project's directory and execute:
build && deliver
Install the package:
cd instsetoo_native/unxlngx6.pro/OpenOffice/native/install/en-US/linux-2.6*/buildroot/opt && cp -r -v openoffice.org3 /opt/openoffice-3.1.1 && cp -r -v openoffice.org /opt/openoffice ln -v -sf /opt/openoffice/basis3.1 /opt/openoffice-3.1.1/basis-link
Add OpenOffice to ldoconfig
cat >> /etc/ld.so.conf << "EOF" # Begin OpenOffice addition to /etc/ld.so.conf /opt/openoffice/ure/lib /opt/openoffice/basis3.1/program # End OpenOffice addition EOF ldconfig
Create links in your $PATH to each program in the Open Office suite:
for appl in sbase scalc sdraw simpress smath soffice spadmin swriter do ln -v -sf /opt/openoffice-3.1.1/program/$appl /usr/bin/$appl done
Install the Open Office icons:
cd ../../../../../../../../../sysui/desktop/icons && install -v -d /usr/share/icons/{HighContrast,hicolor,locolor} -m755 && cp -r -v hicolor/*x* /usr/share/icons/hicolor && cp -r -v locolor/*x* /usr/share/icons/locolor
If you have desktop-file-utils installed, create desktop files for each application in the Open Office suite:
install -v -d /usr/share/applications -m 755 && cd /opt/openoffice-3.1.1/share/xdg/ && for appl in *.desktop do sed -i '/Exec/d' $appl echo "Exec=/usr/bin/s`echo $appl | sed 's/.desktop//'`" >> $appl sed -i '/Icon/d' $appl echo "Icon=`echo $appl | sed 's/.desktop//'`" >> $appl done && sed -i 's@bin/sprinteradmin@bin/spadmin@' printeradmin.desktop && cp -v *.desktop /usr/share/applications
Multilib
32Bit
To do ...
N32
To do ...
64Bit
This process is not updated to build with 3.1.1
Several Makefiles have -mcpu hard coded as PentiumPro, remove this with the following sed:
sed -i '/^ARCH_FLAGS\*=/d' solenv/inc/unx{lngi{4,5,6},fbsdi}.mk
Configure the package, adding any configuration options you desire:
touch external/unowinreg/unowinreg.dll && cd config_office/ && autoreconf && USE_ARCH=64 CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ ./configure --prefix=/opt/openoffice-3.1.1 \ --libdir=/opt/openoffice-3.1.1/lib64 --enable-libart \ --disable-fontooo --without-fonts --with-system-stdlibs --with-system-freetype \ --with-system-expat --with-system-libxml --with-system-zlib \ --with-build-version=CBLFS --with-package-format=native --disable-binfilter && cd .. && umask 0022 && unset LANG LC_ALL
Create the Open Office make utility and set the environment variables for the build:
./bootstrap && source LinuxX86-64Env.Set.sh
Compile the package:
dmake
To build a single "project" as it is referred to by Open Office, enter the project's directory and execute:
build && deliver
Install the package:
cd instsetoo_native/unxlngx6.pro/OpenOffice/native/install/en-US/linux-2.6-x86_64/buildroot/opt && cp -r -v openoffice.org3 /opt/openoffice-3.1.1
Create links in your $PATH to each program in the Open Office suite:
for appl in sbase scalc sdraw simpress smath soffice spadmin swriter do ln -v -sf /opt/openoffice-3.1.1/program/$appl /usr/bin/$appl done
Install the Open Office icons:
cd ../../../../../../../../../sysui/desktop/icons && install -v -d /usr/share/icons/{HighContrast,hicolor,locolor} -m755 && cp -r -v HighContrast/*x* /usr/share/icons/HighContrast && cp -r -v hicolor/*x* /usr/share/icons/hicolor && cp -r -v locolor/*x* /usr/share/icons/locolor
If you have desktop-file-utils installed, create desktop files for each application in the Open Office suite:
install -v -d /usr/share/applications -m 755 && cd /opt/openoffice-3.1.1/share/xdg/ && for appl in *.desktop do sed -i '/Exec/d' $appl echo "Exec=/usr/bin/s`echo $appl | sed 's/.desktop//'`" >> $appl sed -i '/Icon/d' $appl echo "Icon=`echo $appl | sed 's/.desktop//'`" >> $appl done && sed -i 's@bin/sprinteradmin@bin/spadmin@' printeradmin.desktop && cp -v *.desktop /usr/share/applications
Contents
Installed Directories: | /opt/openoffice-3.1.1 |
---|---|
Installed Programs: | sbase, scalc, sdraw, simpress, smath, soffice, spadmin, and swriter |
Installed Libraries: | Various Open Office libraries. |
Short Descriptions
sbase | is a desktop database program. |
---|---|
scalc | is a spreadsheet program. |
sdraw | is a drawing program. |
simpress | is a program for creating presentations. |
smath | is a program for editing mathematical functions. |
soffice | is a "wrapper" program from which all of the Open Office programs can be accessed. |
spadmin | is the Open Office printer administration program. |
swriter | is a word processor. |