Compilar LibreOffice en macOS

From The Document Foundation Wiki
Jump to: navigation, search

Esta página describe el procedimiento para configurar un entorno de compilación para LibreOffice en macOS 10.9, 10.10, 10.11, 10.12 y 10.13.

Prerrequisitos

  1. Instalar Xcode. La versión más reciente de Xcode puede adquirirse gratuitamente en la Mac App Store. Es posible conseguir las versiones anteriores y en desarrollo de Xcode en developer.apple.com.
  2. Seleccionar el directorio activo de desarrollo de Xcode:
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
    
  3. Será necesario aceptar primero el CLUF de Xcode; para ello, abra Xcode o ejecute esta orden:
    sudo xcodebuild -license
    
  4. Instalar las herramientas de consola para programación de Apple mediante la orden:
    sudo xcode-select --install
    
  5. Descargar e instalar un JDK (kit de desarrollo de Java SE):


Configuración rápida

Véase Development/lode/es

Si no desea instalar un JDK, añada --without-java a ./autogen.sh

A partir de la carpeta personal (o cualquier otro directorio que prefiera), como usuario normal:

$ git clone git://gerrit.libreoffice.org/lode
$ cd lode
$ ./setup --dev

Siga los mensajes emitidos tras la última orden: necesitará añadir

$ export LODE_HOME=<ruta al repositorio «lode» clonado> 

y añada export PATH=$LODE_HOME/opt/bin:$PATH a ~/.bash_login

Finalice su sesión e inicie una consola de nuevo para que se apliquen los cambios realizados en .profile. Compruebe que esto funcione mediante echo $PATH. A continuación,

$ cd lode/dev/core
$ ./autogen.sh --disable-cve-tests
$ make 2>&1 | tee build.log

Para ejecutar LibreOffice, utilice la orden:

$ open instdir/LibreOfficeDev.app

lode es una herramienta desarrollada por el equipo de infraestructura para gestionar el despliegue de los robots esclavos de CI. El equipo la emplea todos los días y le brinda mantenimiento continuo.

Consejos para compilar

Encontrará consejos aplicables para todas las plataformas en Consejos de compilación genéricos

Compilar en una sesión ssh

En algunos casos, puede darse la situación que, si compila dentro de una sesión ssh, algunas pruebas unitarias fallarán a menos que abra también una sesión en modo de ventanas hacia el equipo remoto, ya sea en la consola física o a través de la compartición de pantallas.

Rendimiento

Compilar LibreOffice puede demorar bastante. La cantidad de tiempo exacta depende de la potencia de su equipo. Existen herramientas que puede utilizar para acelerar el proceso.

ccache

«ccache» es una abreviatura de compiler cache, o ‘antememoria de compilador’, y se trata exactamente de eso. Ahorra mucho tiempo al evitar ejecutar el compilador cuando el código fuente casi no ha cambiado entre dos compilaciones. Empero, observe que, a menos que ejecute a menudo «make clean», ello no ocurrirá normalmente, y no será una buena idea utilizar ccache solo por creer que pueda ayudar.

Descárguelo aquí

Compílelo así:

./configure
make
make install

También deberá cerciorarse de que se define lo siguiente en p. ej. .bashrc, si se va a utilizar ccache (consulte Compilar LibreOffice con Clang para obtener más detalles), o de lo contrario Clang emitirá errores y mostrará alertas innecesarias:

export CCACHE_CPP2=YES

El límite predeterminado de antememoria (5 GB) no es lo suficientemente grande para ser útil para una compilación de LibreOffice, pero es posible aumentarlo:

ccache --max-size 16 G && ccache -s

Compilar el SDK de UNO

En la rama «master», para compilar el SDK de UNO (esto es, quitando el conmutador de configuración --disable-odk), habrá que instalar Doxygen para que se genere la documentación en HTML de la interfaz de UNO en C++.

Puede optar por instalar Doxygen desde su sitio web y asegurarse de que el ejecutable doxygen sea visible para PATH: si es necesario, defina su ubicación exacta mediante el conmutador de configuración --with-doxygen=nombrederuta.

Otra opción es configurar --without-doxygen; en este caso, la documentación en HTML de la interfaz de UNO en C++ no estará presente en el SDK compilado.

Véase también