Dependencias para la compilación en Linux

From The Document Foundation Wiki
Jump to: navigation, 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