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 platform.

Package Information

Additional Downloads

Additional Downloads

LibreOffice Dependencies


Gperf-3.0.4, GTK+-2.24.20, 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.


BlueZ-4.101, Cppunit, Graphite2, GTK+-3.8.4, Hunspell, Hyphen, kdelibs-4.11.1, libwpd, libwpg, libwps, libcdr, libmspub, libmwaw, libvisio, libcmis, CLucene, libexttextcat, liblangtag, libodfgen, VIGRA, mdds, MySQL-5.6.13, MyThes, PostgreSQL-9.3.0, SANE-1.0.23 and Zenity

User Notes:

Installation of LibreOffice



Untaring the libreoffice- 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 root in 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 /usr.

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 untaring as root:

tar -xf libreoffice- --no-overwrite-dir &&
cd libreoffice-

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- --no-overwrite-dir --strip-components=1 &&

ln -sv ../../libreoffice-dictionaries- src/ &&
ln -sv ../../libreoffice-help- src/

If you have downloaded the translations tarball, create a symlink:

ln -sv ../../libreoffice-translations- 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 install in /opt, instead of /usr. In order to do that, replace /usr by /opt/libreoffice- in the rest of the page, except in the commands fixing the menu icons. 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 &&

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-    &&
./ --prefix=/usr              \
             --sysconfdir=/etc          \
             --with-vendor="BLFS"       \
             --with-lang="en-US pt-BR"  \
             --with-help                \
             --with-alloc=system        \
             --without-java             \
             --disable-gconf            \
             --disable-odk              \
             --disable-postgresql-sdbc  \
             --enable-python=system     \
             --with-system-boost        \
             --with-system-cairo        \
             --with-system-curl         \
             --with-system-expat        \
             --with-system-harfbuzz     \
             --with-system-icu          \
             --with-system-jpeg         \
             --with-system-lcms2        \
             --with-system-libpng       \
             --with-system-libxml       \
             --with-system-mesa-headers \
             --with-system-neon         \
             --with-system-nss          \
             --with-system-odbc         \
             --with-system-openldap     \
             --with-system-openssl      \
             --with-system-poppler      \
             --with-system-redland      \
             --with-system-zlib         \
             --with-parallelism=$(getconf _NPROCESSORS_ONLN)

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 make

Build the package:

make build

Now, as the root user:

make distro-pack-install

If the dictionaries have been built, again as root user:

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 /usr by /opt/libreoffice- If installed in /opt and there are no icons in the new items of the desktop menu, optionally run the following commands, as root user (it may be necessary to logout the session, before the icons appear):

mkdir -pv /usr/share/pixmaps &&
for i in writer base calc draw impress math startcenter writer
  ln -svf /opt/libreoffice-$i.png \
unset i

Command Explanations

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.

--with-vendor=BLFS: This switch sets BLFS as the vendor which is mentioned when you click "About" on the toolbar.

--with-lang="en-US pt-BR": This switch sets what languages to support. To list several languages, separate them with a space. For all languages, use --with-lang=ALL.

For a list of the available languages, you can uncompress the translations tarball, tar -xf ../libreoffice-translations- --no-overwrite-dir -C /tmp, and run ls /tmp/libreoffice-

--with-help: Without this switch, the help files are not built.

--with-alloc=system: This 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 system support.

--disable-odk: This switch disables installing the office development kit. Remove if you want to develop a LibreOffice based application.

--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 --with-system-postgresql switch.

--enable-python=system: 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 --disable-python instead.

--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.

--with-parallelism=$(getconf _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 avmedia module.

--enable-gtk3: Use this switch if you want to build the GTK+ 3 integration module.

--enable-kde4: Use this switch if you want to build the KDE integration module.


Installed Programs: libreoffice, lobase, localc, lodraw, loffice, lofromtemplate, loimpress, lomath, loweb, lowriter, soffice and unopkg
Installed Libraries: None
Installed Directory: /usr/lib/libreoffice

Short Descriptions


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 command line.

Last updated on 2013-09-10 07:37:56 -0700