Linuxビルドの依存関係
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
The commands below should prepare a regular system into one able to build LibreOffice, it is by far the easiest way to use the existing package to bootstrap your build dependencies.
Debian / Ubuntu
1. Install some prerequisites that get missed:
sudo apt-get install git ccache junit4 gstreamer1.0-libav libkrb5-dev nasm graphviz libpython3-dev
2. To run build-dep
, your repository list should include the source-code repository. Make sure you have a deb-src line in /etc/apt/sources.list for the main repository.
You can add the software sources by uncommenting the line (removing the starting #
) under the deb
line, or just copy the equivalent deb
line and add -src
to it. Or simply add source code repository in software source manager (in Ubuntu: Software Updater).
The lines for source repositories should look something like these (replace <distroname> with the code name of your Debian/Ubuntu version, like "bionic" for Ubuntu 18.04):
deb-src http://http.debian.net/debian/ <distroname> main (do not copy and paste this line!)
deb-src http://archive.ubuntu.com/ubuntu/ <distroname> main (do not copy and paste this line!)
3. Next make sure the repositories are working properly (no errors)
sudo apt-get update
Some mirrors do not copy the sources. In that case you will need to switch to a mirror that does. This would cause the "Unable to find the source package for libreoffice"
error in the next step.
4. Then install all the build dependencies according to apt with:
sudo apt-get build-dep libreoffice
5. For 16.04, gperf 3.1 can be downloaded from https://launchpad.net/ubuntu/+source/gperf/3.1-1/+build/13135740 (compiled for artful, but works on xenial) and then run the .deb to install it.
6. For 16.04, an updated gcc / g++ is required.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install gcc-7 g++-7 #(or perhaps you want to jump to gcc 8 immediately - but I conservatively chose 7) sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100 --slave /usr/bin/g++ g++ /usr/bin/g++-5 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50 --slave /usr/bin/g++ g++ /usr/bin/g++-7 sudo update-alternatives --config gcc gcc --version #should produce version 7.4 or higher
openSUSE
Start off by installing your build tools and git:
sudo zypper install -t pattern devel_basis
sudo zypper in libavahi-devel
sudo zypper in fakeroot
sudo zypper in ccache
Now install all build dependencies:
sudo zypper si -d libreoffice # for openSUSE >= 12.1
If you are building recent versions of LibreOffice on older OpenSUSE systems, you can use the LibreOffice factory repository, for reasonably up-to-date dependencies:
sudo zypper ar http://download.opensuse.org/repositories/LibreOffice:/Factory/==YOUR_VERSION_HERE==/LibreOffice:Factory.repo
For openSUSE 13.2 for example:
sudo zypper ar http://download.opensuse.org/repositories/LibreOffice:/Factory/openSUSE_13.2/LibreOffice:Factory.repo
IMPORTANT: Please, make sure that you have a reasonable Java SDK. Unfortunately, gcj is installed by default but it does not work reasonably. Please, do:
sudo zypper in java-1_8_0-openjdk-devel
Fedora/RedHat
sudo dnf builddep libreoffice
Arch Linux
Setup the basic build system:
sudo pacman -S base-devel
Make sure that you have installed at least the fonts that are required for the user interface:
sudo pacman -S ttf-dejavu
If 'gcc-libs-multilib' is installed, you will have to remove the 'gcc-libs' dependency.
pacmanを使って依存関係をインストールする
These make dependencies are copied from the official PKGBUILD of Arch Build System (with some modifications as it includes stuff that is not needed).
sudo pacman -S --needed 'ant' 'apr' 'beanshell' 'bluez-libs' 'clucene' \
'coin-or-mp' 'cppunit' 'curl' 'dbus-glib' \
'desktop-file-utils' 'doxygen' 'flex' 'gcc-libs' \
'gdb' 'glm' 'gobject-introspection' 'gperf' 'gpgme' \
'graphite' 'gst-plugins-base-libs' 'gtk3' \
'harfbuzz-icu' 'hicolor-icon-theme' 'hunspell' \
'hyphen' 'icu' 'java-environment' 'junit' \
'lcms2' 'libabw' 'libatomic_ops' 'libcdr' 'libcmis' \
'libe-book' 'libepoxy' 'libepubgen' 'libetonyek' \
'libexttextcat' 'libfreehand' 'libgl' 'libjpeg' \
'liblangtag' 'libmspub' 'libmwaw' 'libmythes' \
'libnumbertext' 'libodfgen' 'liborcus' 'libpagemaker' \
'libqxp' 'libstaroffice' 'libtommath' 'libvisio' \
'libwpd' 'libwpg' 'libwps' 'libxinerama' 'libxrandr' \
'libxslt' 'libzmf' 'lpsolve' 'mariadb-libs' \
'mdds' 'nasm' 'neon' 'nspr' 'nss' 'pango' \
'plasma-framework' 'poppler' 'postgresql-libs' \
'python' 'qt5-base' 'redland' 'sane' 'serf' 'sh' \
'shared-mime-info' 'ttf-liberation' 'unixodbc' \
'unzip' 'xmlsec' 'zip'
If you don't plan to be working on Java, you can remove ant, beanshell, java-environment and junit from this list as LibreOffice mostly runs without it.
Slackware
./autogen.sh --without-java --disable-postgresql-sdbc --disable-gstreamer