LibreOffice-5.1.0

Introduction to LibreOffice

LibreOffice is a full-featured office suite. It is largely compatible with Microsoft Office and is descended from OpenOffice.org.

This package is known to build and work properly using an LFS 7.8-systemd platform.

Package Information

Additional Downloads

LibreOffice Dependencies

Required

Archive::Zip-1.56, UnZip-6.0, Wget-1.17.1, Which-2.21, and Zip-3.0

Recommended

[Note]

Note

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.

Optional

apache-ant-1.9.6, Avahi-0.6.31, BlueZ-5.37, DConf-0.24.0, desktop-file-utils-0.22, Doxygen-1.8.11 (not relevant if using --disable-odk), GDB-7.11, KDELibs-4.14.9, MariaDB-10.1.12 or MySQL, MIT Kerberos V5-1.14, NASM-2.12, OpenJDK-1.8.0.72, SANE-1.0.25, Valgrind-3.11.0, VLC-2.2.2, Zenity-3.18.1.1, Apache Commons Codec, Apache Commons HttpClient, Apache Commons Lang, Apache Commons Logging, BeanShell, CoinMP, Cppunit, Firebird, glew (OpenGL Extension Wrangler Library), glyphy, Gnome VFS, hamcrest, Hunspell, Hyphen, iwyu, libabw, libcdr, libcmis, libebook, libexttextcat, libfreehand, liblangtag, libmspub, libmwaw, libodfgen, libpagemaker, librevenge (WordPerfect Document importer), libvisio, libwpd, libwpg, libwps, lp_solve, mdds, MyThes, ogl-math - OpenGL Mathematics (GLM), OpenCOLLADA, Orcus, telepathy-glib, VIGRA, and Zenity

There are many optional dependencies not listed here. They can be found in “download.lst” (source directory).

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libreoffice

Installation of LibreOffice

[Important]

Important

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

tar -xf libreoffice-5.1.0.3.tar.xz --no-overwrite-dir &&
cd libreoffice-5.1.0.3

Create symlinks to tarballs from the source directory so they won't get downloaded again:

install -dm755 external/tarballs &&
ln -sv ../../../libreoffice-dictionaries-5.1.0.3.tar.xz external/tarballs/ &&
ln -sv ../../../libreoffice-help-5.1.0.3.tar.xz         external/tarballs/

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

ln -sv ../../../libreoffice-translations-5.1.0.3.tar.xz external/tarballs/
[Note]

Note

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

Due to the large size of the package, you may prefer to install it in /opt, instead of /usr. Depending on your choice, replace <PREFIX> by /usr or by /opt/libreoffice-5.1.0.3:

export LO_PREFIX=<PREFIX>

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         \
             --sysconfdir=/etc           \
             --with-vendor=BLFS          \
             --with-lang='fr en-GB'      \
             --with-help                 \
             --with-myspell-dicts        \
             --with-alloc=system         \
             --without-java              \
             --without-system-dicts      \
             --disable-dconf             \
             --disable-odk               \
             --enable-release-build=yes  \
             --enable-python=system      \
             --with-system-apr           \
             --with-system-boost=yes     \
             --with-system-cairo         \
             --with-system-clucene       \
             --with-system-curl          \
             --with-system-expat         \
             --with-system-graphite      \
             --with-system-harfbuzz      \
             --with-system-icu           \
             --with-system-jpeg          \
             --with-system-lcms2         \
             --with-system-libatomic_ops \
             --with-system-libpng        \
             --with-system-libxml        \
             --with-system-neon          \
             --with-system-npapi-headers \
             --with-system-nss           \
             --with-system-odbc          \
             --with-system-openldap      \
             --with-system-openssl       \
             --with-system-poppler       \
             --with-system-postgresql    \
             --with-system-redland       \
             --with-system-serf          \
             --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                                  &&
install -v -m755 -d $LO_PREFIX/share/appdata              &&
install -v -m644    sysui/desktop/appstream-appdata/*.xml \
                    $LO_PREFIX/share/appdata

If installed in /opt/libreoffice-5.1.0.3 some additional steps are necessary. Issue the following commands, as root user:

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

  # Icons
  mkdir -vp /usr/share/pixmaps
  for i in $LO_PREFIX/share/icons/hicolor/32x32/application/*; do
    ln -svf $i /usr/share/pixmaps
  done &&

  # Desktop menu entries
  for i in $LO_PREFIX/lib/libreoffice/share/xdg/*; do
    ln -svf $i /usr/share/applications/libreoffice-$(basename $i)
  done &&

  # Man pages
  for i in $LO_PREFIX/share/man/man1/*; do
    ln -svf $i /usr/share/man/man1/
  done

  unset i
fi

If you have installed desktop-file-utils-0.22, and you wish to update the MIME database, issue, as the root user:

update-desktop-database

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 --<module> 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 /user, unless $LO_PREFIX/bin directory is appended to the PATH.

Command Explanations

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

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='fr en-GB': This switch sets what languages to support. To list several languages, separate them with a space. For all languages, use --with-lang=ALL.

[Note]

Note

For a list of the available languages, look in solenv/inc/langlist.mk.

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

--with-myspell-dicts: This switch adds myspell dictionaries to the LibreOffice installation set.

--with-alloc=system: This switch tells LibreOffice to use system allocator instead of the internal one.

--with-system-boost=<yes/no>: This 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 upstream.

--disable-dconf: This switch disables compiling LibreOffice with the GNOME DConf configuration system support.

--without-system-dicts: 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 LibreOffice.

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

--enable-release-build=yes: 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 screen).

--enable-python=system: This switch tells LibreOffice to use installed Python 3 to build the translations instead of the bundled one.

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

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

Contents

Installed Programs: libreoffice, lobase, localc, lodraw, loffice, lofromtemplate, loimpress, lomath, loweb, lowriter, soffice and unopkg; several programs under $LO_PREFIX/lib/libreoffice/program
Installed Libraries: several libraries under $LO_PREFIX/lib/libreoffice/program
Installed Directory: $LO_PREFIX/lib/libreoffice

Short Descriptions

libreoffice (or soffice)

is the main libreofice suite (symlink to $LO_PREFIX/lib/libreoffice/program/soffice).

lobase

is the database manager module shell starting script.

localc

is the spreadsheet module shell starting script.

lodraw

is the vector graphics editor and diagramming tool module shell starting script.

loimpress

is the (PowerPoint) presentations editor and displayer module shell starting script.

lomath

is the mathematical formula editor module shell starting script.

lowriter

is the word processor module shell starting script.

unopkg

is a tool to manage LibreOffice extensions from the command line shell starting script.

Last updated on 2016-03-04 00:24:48 -0600