Introduction to OpenOffice
OpenOffice is an office suite, the
open source sibling of StarOffice.
Package Information
Additional Downloads
OpenOffice Dependencies
Required
Apache Ant-1.8.1, gtk+-2.24.8, libIDL-0.8.14, Perl
Modules XML::Parser-2.40 and Archive::Zip-1.30, UnZip-6.0, which-2.20, and Zip-3.0
Optional
ALTLinuxhyph,
boost,
Cups-1.5.0, cURL-7.22.0,
Berkeley DB-5.2.36 (built with Java
support), desktop-file-utils-0.18,
EPM,
Evolution-2.30.2, GNOME Virtual File
System-2.24.4 (should use --enable-gio instead), Trinity/KDE3, libjpeg-8c, libsndfile, LibTIFF-4.0.0, libwpd, libxslt-1.1.26, libxml2-2.7.8,
Linux-PAM-1.1.5, MySpell,
MyThes,
neon-0.29.6, OpenLDAP-2.4.23, Python-2.7.2,
SANE-1.0.19, startup-notification-0.9, and
unixODBC-2.3.0
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/openoffice
Installation of OpenOffice
The OpenOffice source code is
distributed in several tarballs. You should extract each from the
same top-level directory before entering the build directory. At a
minimum, you will need to extract the “core” and “system” tarballs. Note that the source
directory name is not consistent with the tarball name and will be
named OOO320_m19
.
It is possible to build with a system-installed Mozilla, however, it requires a very intrusive
patch, and is version specific. Additionally, you'll need to build
against SeaMonkey-2.6.1 or Thunderbird-9.0.1
for full LDAP and address book functionality. Instead, use the
in-tree Seamonkey build. Copy the
tarball into the source tree with the following command:
cp ../seamonkey-1.1.14-source.tar.bz2 moz/download/
If you want to optimize the build, edit the appropriate makefile in
solenv/inc/
and add the desired
optimization flags to the CFLAGSOPT
variable. The makefiles are arch specific, for instance edit
unxlngi6.mk
for i686, or unxlngx6.mk
for x86_64. Some users have reported
problems with -fomit-frame-pointer
. The
best option is to not use any custom optimizations.
Note
Because of the complexity of the OpenOffice build system, it is not possible
to provide generic build instructions for all systems. You should
review the output of configure
--help and take advantage of any system installed
programs and libraries available using the --enable-*
, --disable-*
, and --with-system-*
parameters, and
provide any additional environment variables needed.
OpenOffice fails to compile if
umask is set to
something exotic. The build can also fail if the LANG
or LC_ALL
environment variables are set. Use the following commands to change
your environment accordingly:
umask 0022 &&
unset LANG LC_ALL
Install OpenOffice by running the
following commands:
patch -Np1 -i ../OOo_3.2.1-with-system-db5-1.patch &&
autoreconf &&
PKG_CONFIG=/usr/bin/pkg-config ./configure \
--disable-binfilter \
--disable-fontooo \
--disable-gnome-vfs \
--disable-odk \
--disable-qadevooo \
--enable-cairo \
--without-afms \
--without-fonts \
--without-ppds \
--without-pam \
--with-system-stdlibs \
--with-system-cairo \
--with-system-expat \
--with-system-zlib \
--with-package-format=native \
--with-vendor="BLFS" \
--with-use-shell=bash &&
source LinuxX86Env.Set.sh &&
./bootstrap &&
make
This package does not come with a test suite.
Now, as the root
user:
pushd instsetoo_native/unxlng?6.pro/OpenOffice/\
native/install/en-US/linux-2.6-*/buildroot/opt &&
cp -r -v openoffice.org3 /opt/openoffice-3.2.1 &&
cp -r -v openoffice.org/* /opt/openoffice-3.2.1 &&
ln -sf basis3.2 /opt/openoffice-3.2.1/basis-link &&
popd &&
for appl in sbase scalc sdraw simpress smath soffice spadmin swriter
do
ln -v -sf /opt/openoffice-3.2.1/program/$appl /usr/bin
done &&
pushd sysui/desktop/icons &&
install -v -m755 -d /usr/share/icons/{hicolor,locolor} &&
cp -r -v hicolor/* /usr/share/icons/hicolor &&
cp -r -v locolor/* /usr/share/icons/locolor &&
popd
If you have installed desktop-file-utils-0.18, you should
copy the *.desktop
files to
/usr/share/applications
using the
following commands as the root
user:
install -v -d -m755 /usr/share/applications &&
pushd /opt/openoffice-3.2.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 "ooo-${appl}3.2" | sed 's/\.desktop//'`" >> $appl
done &&
sed -i 's@bin/sprinteradmin@bin/spadmin@' printeradmin.desktop &&
cp -v *.desktop /usr/share/applications &&
update-desktop-database &&
popd
If you've chosen to build any additional dictionaries or any of the
extensions, you'll need to copy them to the installation directory.
Run the following commands as the root
user:
Note
The following two command blocks will not exit with a zero value,
and the second will require you to press 'y' before installation.
Keep this in mind if scripting the build.
cp -v dictionaries/unxlngi6.pro/bin/dict-*.oxt \
sdext/unxlngi6.pro/bin/*.oxt \
reportbuilder/unxlngi6.pro/bin/report-builder.oxt \
swext/unxlngi6.pro/bin/wiki-publisher.oxt \
/opt/openoffice-3.2.1/share/extension/install
Now, while still the root
user, add
everything into the shared installation:
for ext in /opt/openoffice-3.2.1/share/extension/install/*.oxt
do
/opt/openoffice-3.2.1/program/unopkg add --shared --verbose $ext
done
Note
OpenOffice default language
tools will not work out of the box. You will have to explicitly
select the proper language settings from within one of the
installed programs by going into the Tools menu and selecting
Options. Under Language Settings, Languages, select the desired
language for all settings. Do not leave "Default" in any drop
down menu here.
Finally, if you'd like to edit OpenOffice documents directly from SeaMonkey-2.6.1 or Firefox-9.0.1, create a
symbolic link in your plugins directory to /opt/openoffice-3.2.1/program/libnpsoplugin.so
.
Additionally, you must enable the plugin from the Internet Options
within any
OpenOffice application.
Command Explanations
PKG_CONFIG=/usr/bin/pkg-config
: This
variable must be set as the version check in configure
is broken.
--disable-binfilter
: This
switch disables the build of legacy StarOffice-5 import filters. Omit this switch
if you've downloaded the binfilter
package above. Warning: Installation of the legacy import filters
increases the build time considerably. Only install them if you
have these old file types, and need to edit them in OpenOffice.
--disable-fontooo
: Use
Fontconfig instead of the FontOOo.
--disable-gnome-vfs
:
Disable the use of Gnome Virtual File
System libraries. Omit this switch only if gio is not
available.
--disable-odk
: This switch
disables the build of the OpenOffice SDK. Omit this switch if you've
downloaded the SDK package (and additional requirements) above.
--disable-qadevooo
: This
switch skips the building of the quality assurance tools used by
the OpenOffice development teams.
--enable-cairo
: This switch
listed in the example configure command above forces
the use of the system installed cairo.
--without-afms
: Do not
install afm font types as system installed TrueType fonts are
already available.
--without-fonts
: Do not
install Bitstream Vera fonts since they are already included in the
X Window System Environment.
--without-ppds
: Do not
install printer description files as these should be handled by
your print system.
--without-pam
: Disable the
use of Linux-PAM functions. Omit
this switch if Linux-PAM is
installed.
--with{,out}-system-*
:
Determines whether to use the system libraries and programs or to
build the source packages included in the build tree.
--with-build-version="3.2.1-1"
:
Changes the build version to append "-1" to the default version
string.
--with-vendor="BLFS"
:
Changed the vendor string to "BLFS" in the help->about dialog.
--with-use-shell=bash
:
Tells the OpenOffice build system
to use bash instead
of tcsh.
./bootstrap: Build
the dmake utility
required to complete the build.
--with-lang=<LANG>
: Allows
the use of additional languages in OpenOffice. US English (ENUS) is the default.
--with-dict=<LANG>
: Allows
the use of alternate dictionaries in OpenOffice. US English (ENUS) is the default.
--with-use-shell=bash
:
Tells the OpenOffice build system
to use bash instead
of tcsh.
./bootstrap: Build
the dmake utility
required to complete the build.
for appl in sbase
scalc...: Creates symlinks for the applications in
/usr/bin
.
for appl in
*.desktop...: Edit the *.desktop
files for use with a standard BLFS
system.