Dependencias para la compilación en Linux

From The Document Foundation Wiki
Jump to navigation Jump to search

Las órdenes siguientes prepararán un sistema Linux normal en uno capaz de compilar LibreOffice. Se trata de la manera más sencilla de inicializar sus dependencias de compilación.

Im-jabber.svg

Note:
Es corriente que las ramas más recientes que lo que se halla empaquetado en los repositorios de su distribución ―en particular la rama troncal o «master»― presenten requisitos adicionales; el paso de autogen.sh con suerte se los puntualizará. Por regla general, estos requisitos son: 1) opcionales e incluyen un argumento «--disable-talcosa» o «--without-talcosa», o 2) pueden cumplimentarse a través de la opción de usar una copia incorporada con un argumento «--without-system-talcosa» (lo cual debería ser el comportamiento predeterminado). Si no se tratase de ninguna de estas dos situaciones, Ud. habrá de instalar algún paquete de desarrollo en su sistema: mire de lo que esté notificando configure en específico y utilice apt-cache search o yum search para encontrar paquetes relevantes, los cuales suelen incluir sufijado a su nombre «-dev» o «-devel».

Debian / Ubuntu

1. Instale algunos de los prerrequisitos que suelen pasarse por alto:

sudo apt-get install git gstreamer1.0-libav libkrb5-dev nasm graphviz ccache

2. Para ejecutar build-dep, su lista de repositorios ha de incluir el repositorio de código fuente. Cerciórese de que tenga un renglón deb-src en /etc/apt/sources.list correspondiente al repositorio «main».

Puede añadir el origen de software al «descomentar» el renglón (quitarle el # inicial) debajo del renglón deb, o bien copie el renglón deb equivalente y añádale -src. O simplemente añada el repositorio mediante el gestor de orígenes de software (en Ubuntu: Software y actualizaciones).

Los renglones de los repositorios de código fuente deben quedar parecidos a estos:

deb-src http://http.debian.net/debian/ stretch main  (en Debian 9)
deb-src http://archive.ubuntu.com/ubuntu/ xenial main  (en Ubuntu 16.04)

3. Ahora, asegúrese de que los repositorios funcionen adecuadamente (sin errores)

sudo apt-get update

Algunos servidores réplica no copian el código fuente. Si ello ocurre, deberá cambiarse a otra réplica que sí lo haga. De lo contrario, se produciría el error «No se pudo encontrar el paquete de fuentes de “libreoffice”» en el paso siguiente.

4. A continuación, instale todas las dependencias de compilación mediante:

sudo apt-get build-dep libreoffice

El procedimiento anterior se probó en Ubuntu 14.04+ y Debian Stretch.

openSUSE

Si busca compilar versiones recientes de LibreOffice, le aconsejamos que añada el repositorio «factory» de LibreOffice para obtener dependencias razonablemente al día:

 sudo zypper ar http://download.opensuse.org/repositories/LibreOffice:/Factory/==YOUR_VERSION_HERE==/LibreOffice:Factory.repo

Para openSUSE 13.2, por ejemplo:

 sudo zypper ar http://download.opensuse.org/repositories/LibreOffice:/Factory/openSUSE_13.2/LibreOffice:Factory.repo

Si planea trabajar con un clon de Git, naturalmente querrá Git también:

 sudo zypper in git

Ahora instálese todas las dependencias de compilación:

 sudo zypper si -d libreoffice              # para openSUSE >= 12.1 y actualizaciones de mantenimiento a LO >= 3.4
 
 sudo zypper si -d libreoffice-bootstrap    # para openSUSE == 11.4

IMPORTANTE: Revise que tenga un SDK de Java adecuado. Por desgracia, gcj se instala por omisión pero no funciona como debería. Ejecute esto: </source>

 sudo zypper in java-1_8_0-openjdk-devel

Fedora/RedHat

 sudo dnf builddep libreoffice                                             # para Fedora &gt;= 15
 sudo yum-builddep openoffice.org                                          # para RHEL-6, Fedora &lt; 15; y derivaciones
 sudo dnf install gcc-c++ ant java-devel junit flex bison \                # Esta única orden debería bastar para
 gtk2-devel freetype-devel gstreamer-devel autoconf gperf libXaw-devel \   # instalaciones mínimas de Fedora 23 y 24.
 GConf2-devel gnome-vfs2-devel cups-devel gstreamer1-plugins-base-devel \
 doxygen perl-Digest-MD5 libxslt-devel python3-devel patch zip gtk3-devel \
 dbus-glib-devel tar git bzip2 findutils

A menos que quiera en verdad usar gnome-vfs, configure LibreOffice con un --enable-gio adicional: así es como se han compilado los paquetes nativos de Fedora. Si opta por lo predeterminado, necesitará

 sudo yum install gnome-vfs2-devel

Arch Linux

Configure el sistema de compilaciones básico:

sudo pacman -S base-devel

Instale por lo menos los tipos de letra necesarios para la interfaz de usuario:

sudo pacman -S ttf-dejavu artwiz-fonts

Si se instala gcc-libs-multilib, tendrá que quitar la dependencia a gcc-libs.

Instalar las dependencias con pacman

Estas dependencias de make fueron copiadas del archivo PKGBUILD oficial del Sistema de compilaciones de Arch.

 sudo pacman -S --needed "curl>=7.20.0" "hunspell>=1.2.8" "python>=3.6" "libwpd>=0.9.2" 'libwps' "neon>=0.28.6" \
                         'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'redland' 'hyphen' 'lpsolve' \
                         'gcc-libs' 'sh' 'graphite' 'icu' 'lcms2' "poppler>=0.24.0" 'libvisio' 'libetonyek' \
                         'libodfgen' 'libcdr' 'libmspub' 'harfbuzz-icu' 'nss' 'clucene' 'hicolor-icon-theme' \
                         'desktop-file-utils' 'shared-mime-info' 'gtk2' 'gst-plugins-base-libs' 'glu' 'sane' \
                         'zip' 'unzip' 'unixodbc' 'apache-ant' 'gperf' 'kdelibs' 'gtk3' 'cppunit' 'beanshell' \
                         'clucene' 'junit' 'libmythes' 'libwpg'  'java-environment' 'postgresql-libs' 'libgl' \
                         'bluez-libs' 'gdb' 'doxygen'  'libatomic_ops' 'mdds' 'libepoxy' 'apr' 'serf' \
                         'ttf-liberation' 'glm' 'libxinerama' 'libpagemaker' 'libabw' 'libmwaw' 'libe-book' \
                         'coin-or-mp' 'liblangtag' 'liborcus' 'libexttextcat' 'libcmis' 'gobject-introspection' \
                         'libtommath' 'libzmf' 'nasm' 'gpgme' 'xmlsec'

Si no piensa trabajar con Java, puede eliminar hsqldb-java, apache-ant, junit, java-environment y beanshell de esta lista. LibreOffice se ejecuta casi por completo sin Java.

Slackware

 ./autogen.sh --without-java --disable-postgresql-sdbc --disable-gstreamer