Introduction to LibreOffice
LibreOffice is a full-featured
office suite. It is largely compatible with Microsoft Office and is descended from
This package is known to build and work properly using an LFS-7.4
Perl Modules Archive::Zip-1.30 and XML::Parser-2.41, UnZip-6.0, Wget-1.14, Which-2.20 and Zip-3.0
Most of these packages are recommended because if they're not
installed, the build process will compile and install its own
(often older) version.
Boost-1.54.0, Cups-1.6.3, cURL-7.32.0, D-Bus-1.6.14,
expat-2.1.0, gst-plugins-base-0.10.36 or
Little CMS-2.5, librsvg-2.37.0, libxml2-2.9.1
and libxslt-1.1.28, MesaLib-9.2.0,
neon-0.30.0, NSS-3.15.1, OpenLDAP-2.4.36 (client only), OpenSSL-1.0.1e, Poppler-0.24.1, Python-3.3.2
(used to build the translations), Redland-1.0.16
BlueZ-4.101, Cppunit, Graphite2,
GTK+-3.8.4, Hunspell, Hyphen,
kdelibs-4.11.1, libwpd, libwpg, libwps, libcdr,
VIGRA, mdds, MySQL-5.6.13, MyThes,
PostgreSQL-9.3.0, SANE-1.0.23 and
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libreoffice
Installation of LibreOffice
Untaring the libreoffice-126.96.36.199 tarball as
root has the curious effect of changing the
ownership of the parent
directory to a user with numerical id 11012 and with the
permissions set to allow read, write and execute for that user
only! If you untared as
your home folder you could end up unable to log in again. If you
untared it in
/usr you would find
your user account unable to access any file in
You can avoid this unpleasantness by not untaring it as
root. If you must untar it as
root pass the option
--no-overwrite-dir to tar. This is the default
when you untar as a user but has to be passed as an option when
tar -xf libreoffice-188.8.131.52.tar.xz --no-overwrite-dir &&
Unpack the dictionaries file and create symlinks to tarballs from
the source directory so they won't get downloaded again (it is not
necessary to unpack the help nor the translations tarballs):
install -dm755 src &&
tar -xf ../libreoffice-dictionaries-184.108.40.206.tar.xz --no-overwrite-dir --strip-components=1 &&
ln -sv ../../libreoffice-dictionaries-220.127.116.11.tar.xz src/ &&
ln -sv ../../libreoffice-help-18.104.22.168.tar.xz src/
If you have downloaded the translations tarball, create a symlink:
ln -sv ../../libreoffice-translations-22.214.171.124.tar.xz src/
During the build process, some packages will be downloaded
(including the ones listed as recommended and optional
dependencies) if they are not present on the system. Doing so,
build time may be different for everyone.
In the rest of the page, locales "en-US" and "pt-BR" are examples;
the user will change them to suit his needs - you might want to
read the "Command Explanations", further below, before proceeding.
Due to the large size of the package, the user may prefer to
/opt, instead of
/usr. In order to do that, replace
/opt/libreoffice-126.96.36.199 in the rest of the page,
except in the commands fixing the menu icons. Prepare LibreOffice for compilation by running the
sed -e "/gzip -f/d" \
-e "s|.1.gz|.1|g" \
-i bin/distro-install-desktop-integration &&
sed -e "/distro-install-file-lists/d" -i Makefile.in &&
chmod -v +x bin/unpack-sources &&
sed -e "s/target\.mk/langlist\.mk/" \
-e "s/tar -xf/tar -x --strip-components=1 -f/" \
-e "/tar -x/s/lo_src_dir/start_dir/" \
-i bin/unpack-sources &&
patch -Np1 -i ../libreoffice-188.8.131.52-system_neon-1.patch &&
./autogen.sh --prefix=/usr \
--with-lang="en-US pt-BR" \
The instructions below will only build the package without running
any unit tests. If you prefer to run the unit tests, replace
make build with
Build the package:
Now, as the
If the dictionaries have been built, again as
chown -cR 0:0 dictionaries/ &&
mkdir -pv /usr/lib/libreoffice/share/extensions/dict-en &&
cp -vR dictionaries/en/* /usr/lib/libreoffice/share/extensions/dict-en &&
mkdir -pv /usr/lib/libreoffice/share/extensions/dict-pt-BR &&
cp -vR dictionaries/pt_BR/* /usr/lib/libreoffice/share/extensions/dict-pt-BR
In the following, do not replace
/opt and there are no
icons in the new items of the desktop menu, optionally run the
following commands, as
(it may be necessary to logout the session, before the icons
mkdir -pv /usr/share/pixmaps &&
for i in writer base calc draw impress math startcenter writer
ln -svf /opt/libreoffice-184.108.40.206/share/icons/hicolor/32x32/apps/libreoffice-$i.png \
sed -e ...: First sed
prevents compression of the manual pages, the second one prevents a
script that causes install to fail from running and the third one
fixes the unpack script.
chmod -v +x ...: Fix
the unpack script's permissions.
switch sets BLFS as the vendor which is mentioned when you click
"About" on the toolbar.
This switch sets what languages to support. To list several
languages, separate them with a space. For all languages, use
For a list of the available languages, you can uncompress the
translations tarball, tar -xf
../libreoffice-translations-220.127.116.11.tar.xz --no-overwrite-dir -C
/tmp, and run ls
--with-help: Without this
switch, the help files are not built.
switch tells LibreOffice to use
system allocator instead of the internal one.
--without-java: This switch disables
Java support in LibreOffice.
--disable-gconf: This switch disables
compiling LibreOffice with the
deprecated GNOME configuration
--disable-odk: This switch disables
installing the office development kit. Remove if you want to
develop a LibreOffice based
--disable-postgresql-sdbc: This switch
disables compiling LibreOffice
with the ability to connect to a PostgreSQL database. Remove it if you would
like LibreOffice to be able to
connect to a PostgreSQL database.
If you have installed PostgreSQL
on your system and would like LibreOffice to use that rather than compile
its own copy, use the
This switch tells LibreOffice to
use installed Python 3 to build
the translations instead of the bundled one. If you don't need to
build any translations, you can use
--with-system-*: These switches prevent
LibreOffice from trying to compile
its own versions of these dependencies. If you've not installed
some of the dependencies, remove the corresponding switches.
_NPROCESSORS_ONLN): This switch tells LibreOffice to use all your CPUs to compile in
parallel and speed up the build.
--disable-cups: Use this switch if you
don't need printing support.
--disable-gstreamer-0.10: Use this
switch if you've not installed gst-plugins-base-0.10.36.
--disable-dbus: Use this switch if
you've not installed D-Bus-1.6.14. It also disables Bluetooth
support and font install via PackageKit.
--enable-gstreamer: Use this switch if
you want to use gst-plugins-base-1.0.10 instead of
gst-plugins-base-0.10.36 for the
--enable-gtk3: Use this switch if you
want to build the GTK+ 3
--enable-kde4: Use this switch if you
want to build the KDE integration
libreoffice, lobase, localc, lodraw,
loffice, lofromtemplate, loimpress, lomath, loweb, lowriter,
soffice and unopkg
is a database manager.
is a spreadsheet program.
is a vector graphics editor and diagramming tool.
can edit and display PowerPoint presentations.
is a mathematical formula editor.
is a word processor.
is a tool to manage LibreOffice extensions from the
Last updated on 2013-09-10 07:37:56 -0700