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.9
Archive::Zip-1.56, UnZip-6.0, Wget-1.17.1, Which-2.21, 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, with the side effect of increasing build
and installed disk space and build time.
Apr-1.5.2, Boost-1.60.0 ,
CLucene-126.96.36.199, Cups-2.1.3, cURL-7.47.1, dbus-glib-0.106, libjpeg-turbo-1.4.2, GLU-9.0.0, Graphite2-1.3.5, gst-plugins-base-1.6.3, GTK+-3.18.7
and GTK+-2.24.29 (see “Command Explanations”), Harfbuzz-1.1.3, ICU-56.1, libatomic_ops-7.4.2, Little
CMS-2.7, librsvg-2.40.13, libxml2-2.9.3
and libxslt-1.1.28, Mesa-11.1.2, neon-0.30.1, NPAPI-SDK-0.27.2, NSS-3.23, OpenLDAP-2.4.44 (if connecting to an LDAP
server), OpenSSL-1.0.2g or GnuTLS-3.4.9,
Poppler-0.41.0, PostgreSQL-9.5.1, Python-3.5.1,
Redland-1.0.17, Serf-1.3.8, and
BlueZ-5.37, DConf-0.24.0, desktop-file-utils-0.22, Doxygen-1.8.11 (not relevant if using
--disable-odk), GDB-7.10.1, kdelibs-4.14.16,
MariaDB-10.1.11 or MySQL, MIT Kerberos
V5-1.14, NASM-2.11.08, OpenJDK-188.8.131.52, SANE-1.0.25, Valgrind-3.11.0, VLC-2.2.2, Apache Commons
Codec, Apache Commons
HttpClient, Apache Commons
Lang, Apache Commons
Logging, BeanShell, CoinMP, Cppunit,
(OpenGL Extension Wrangler Library), glyphy, Gnome
(WordPerfect Document importer), libvisio,
lp_solve, mdds, MyThes,
ogl-math - OpenGL
Mathematics (GLM), OpenCOLLADA,
There are many optional dependencies not listed here. They can be
found in “download.lst”
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libreoffice
Installation of LibreOffice
Unlike the other packages, we suppose that you have not yet
unpacked the package. This is so because the
--no-overwrite-dir switch is needed in case you
unpack as the
tar -xf libreoffice-184.108.40.206.tar.xz --no-overwrite-dir &&
Create symlinks to tarballs from the source directory so they won't
get downloaded again:
install -dm755 external/tarballs &&
ln -sv ../../../libreoffice-dictionaries-220.127.116.11.tar.xz external/tarballs/ &&
ln -sv ../../../libreoffice-help-18.104.22.168.tar.xz external/tarballs/
If you have downloaded the translations tarball, create a symlink:
ln -sv ../../../libreoffice-translations-22.214.171.124.tar.xz external/tarballs/
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. Because of
this, build time may vary from the published time more than
Due to the large size of the package, you may prefer to install it
/opt, instead of
/usr. Depending on your choice, replace
/usr or by
Locales "fr" and "en-GB", you will find below, are just examples;
you should change them to suit your needs - you might want to read
the "Command Explanations", further below, before proceeding.
Prepare LibreOffice for
compilation by running the following commands:
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 &&
sed -i "s#isnan#std::&#g" xmloff/source/draw/ximp3dscene.cxx &&
chmod -v +x bin/unpack-sources &&
./autogen.sh --prefix=$LO_PREFIX \
--with-lang='fr en-GB' \
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
make distro-pack-install &&
install -v -m755 -d $LO_PREFIX/share/appdata &&
install -v -m644 sysui/desktop/appstream-appdata/*.xml \
If installed in
/opt/libreoffice-126.96.36.199 some additional steps
are necessary. Issue the following commands, as
if [ "$LO_PREFIX" != "/usr" ]; then
# This symlink is necessary for the desktop menu entries
ln -svf $LO_PREFIX/lib/libreoffice/program/soffice /usr/bin/libreoffice &&
mkdir -vp /usr/share/pixmaps
for i in $LO_PREFIX/share/icons/hicolor/32x32/application/*; do
ln -svf $i /usr/share/pixmaps
# Desktop menu entries
for i in $LO_PREFIX/lib/libreoffice/share/xdg/*; do
ln -svf $i /usr/share/applications/libreoffice-$(basename $i)
# Man pages
for i in $LO_PREFIX/share/man/man1/*; do
ln -svf $i /usr/share/man/man1/
If you have installed desktop-file-utils-0.22, and you wish
to update the MIME database, issue, as the
The suite and main modules can be started from the menu. From a
terminal, the suite can be started with libreoffice command and the
modules with libreoffice --
command, respectively, where
<module> is one of base,
calc, draw, impress, math or writer. Modules cannot be started
using their shell starting script names (see "Installed Programs",
below), if LO_PREFIX is other than
$LO_PREFIX/bin directory is appended to the PATH.
sed -e ...: The first
sed prevents compression of the manual pages, the second one
prevents install from failing and the third one fixes a build
failure caused by a glibc-2.23
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, look in
--with-help: Without this
switch, the help files are not built.
switch adds myspell dictionaries to the LibreOffice installation set.
switch tells LibreOffice to use
system allocator instead of the internal one.
switch enables/disables use of system boost, so bundled one may be
or not used, because currently, depending on the user decision, or
if the build is broken with latest Boost in BLFS, which frequently occurs and
there is a delay until either a fix is found or it is fixed
switch disables compiling LibreOffice with the GNOME DConf configuration system support.
This switch disables use of dictionaries from system paths, so the
ones installed by this package are used.
--without-java: This switch
disables Java support in
--disable-odk: This switch
disables installing the office development kit. Remove if you want
to develop a LibreOffice based
This switch enables a Release Build. LibreOffice can be built as a Release Build or
as a Developer Build, because their default installation paths and
user profile paths are different. Developer Build displays the
words "Dev" and "Beta" in several places (e.g, menu and splash
This switch tells LibreOffice to
use installed Python 3 to build
the translations instead of the bundled one.
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
_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-dbus: Use this switch if
you've not installed D-Bus-1.8.0 or later. It also disables
Bluetooth support and font install via PackageKit.
--disable-firebird-sdbc: By default,
the ability to connect to a firebird database is enabled. This is regarded
as 'experimental' and from time to time the unit test
CppunitTest_dbaccess_firebird_test fails near the end of the build.
If you need to connect to such a database, and the build fails for
you, you will need to build GDB-7.10.1 to help
upstream debug it.
--disable-gstreamer-1-0: Use this
switch if you have not installed gst-plugins-base-1.6.3.
--disable-gtk3: Use this switch if you
have not installed GTK+-3, or if
you have installed it but wish to use GTK+-2 (the menu icons differ). Note that a
GTK+-3 build still requires
GTK+-2 to build the gtk-plugin.
--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
--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; several programs under
several libraries under
is the main libreofice suite (symlink to
is the database manager module shell starting script.
is the spreadsheet module shell starting script.
is the vector graphics editor and diagramming tool module
shell starting script.
is the (PowerPoint) presentations editor and displayer
module shell starting script.
is the mathematical formula editor module shell starting
is the word processor module shell starting script.
is a tool to manage LibreOffice extensions from the
command line shell starting script.
Last updated on 2016-03-02 12:14:01 -0800