Problemas con LibreOffice en un Alfresco 5.2. limpio

He realizado varias instalaciones en diversos entornos de Alfresco 5.2, y en casi todos los casos he tenido que descargar las dependencias necesarias para que funcionara correctamente. Hasta aquí todo normal. El problema vino hace unos días en el que he tenido que realizar una instalación en un entorno el cual me ha dado varios quebraderos de cabeza. Debido a la poca información que he encontrado os voy a explicar qué error daba y cómo lo he solventado:

¡Manos a la obra!

  • He realizado una instalación de cero con un instalador de Alfresco 5.2. en ubuntu 14.04.1 LTS
  • Al arrancar, en el catalina.out, veo el siguiente problema relacionado con LibreOffice:
    ERROR [repo.content.JodConverterSharedInstance] [localhost-startStop-1] Unable to start JodConverter library. The following error is shown for informational purposes only.
    
     org.artofsolving.jodconverter.office.OfficeException: failed to start and connect
    
    ....
    
    Caused by: java.util.concurrent.ExecutionException: org.artofsolving.jodconverter.office.OfficeException: could not establish connection
  • Compruebo si libreoffice se ha arrancado:
    > alfresco/libreoffice/scripts$ ./libreoffice_ctl.sh status
    
    libreoffice not running
  • Intentamos arrancarlo con el script:
    > alfresco/libreoffice/scripts$ ./libreoffice_ctl.sh start
    
    ./libreoffice_ctl.sh : libreoffice could not be started
  • Para ver más detalles sobre qué ocurre, ejecutamos lo siguiente:
    > alfresco/libreoffice/scripts$ cd ../program/
  • Ejecutamos lo siguiente:
    sudo ./soffice --nologo --headless --nofirststartwizard --accept='socket,host=127.0.0.1,port=8100,tcpNoDelay=1;urp;StarOffice.Service'
    
     Resultado:
    
     javaldx: Could not find a Java Runtime Environment!
    
     Warning: failed to read path from javaldx
    
     /opt/alfresco/libreoffice/program/.soffice.bin: error while loading shared libraries: libcairo.so.2: cannot open shared object file: No such file or directory
  • El error de Java lo veremos más tarde, vamos a centrarnos en las dependencias. Intentamos instalar la dependencia que necesita:
    > alfresco/libreoffice/program$ sudo apt-get install libcairo2
    
     Leyendo lista de paquetes... Hecho
    
     Creando árbol de dependencias
    
     Leyendo la información de estado... Hecho
    
     Tal vez quiera ejecutar «apt-get -f install» para corregirlo:
    
     Los siguientes paquetes tienen dependencias incumplidas:
    
     cfg2html-linux : Depende: gawk
    
     libcairo2 : Depende: libpixman-1-0 (>= 0.18.0) pero no va a instalarse
    
     Depende: libxcb-render0 pero no va a instalarse
    
     Depende: libxcb-shm0 pero no va a instalarse
    
     E: Dependencias incumplidas. Intente «apt-get -f install» sin paquetes (o especifique una solución).
  • Para solucionar el error de dependencias, debemos ejecutar lo siguiente:
    sudo apt-get autoremove 

    Cuando termine seguimos con el siguiente comando:

    sudo apt-get autoclean

    Cuando termine seguimos con el siguiente comando:

    sudo apt-get update

    Cuando termine seguimos con el siguiente comando:

    sudo apt-get -f install
  • Finalmente en este punto se instalaran aquellas dependencias que no nos dejaban previamente. Ejecutamos:
    sudo apt-get install libcairo2

    Y ahora sí: Se instalan correctamente.

  • Para verificar que nuestro LibreOffice funciona correctamente:
    > alfresco/libreoffice/program$ sudo ./soffice --nologo --headless --nofirststartwizard --accept='socket,host=127.0.0.1,port=8100,tcpNoDelay=1;urp;StarOffice.Service'
    
    javaldx: Could not find a Java Runtime Environment!Warning: failed to read path from javaldx
  • Este warning se debe a que tenemos que arrancar libreoffice desde el servicio de Alfresco porque es donde se exporta la variable de Java. Hacemos lo siguiente:
    sudo service alfresco restart && tail -n500 -f ruta_alfresco/tomcat/logs/catalina.out
  • Y observamos el log que por fin se establece conexión:
     org.artofsolving.jodconverter.office.OfficeProcess start
    
     INFORMACIÓN: Using original OpenOffice command: [/opt/alfresco/libreoffice/program/soffice.bin, -accept=socket,host=127.0.0.1,port=8100;urp;, -env:UserInstallation=file:///opt/alfresco/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100, -headless, -nocrashreport, -nodefault, -nofirststartwizard, -nolockcheck, -nologo, -norestore]
    
     ago 21, 2017 5:12:29 PM org.artofsolving.jodconverter.office.OfficeProcess start
    
     INFORMACIÓN: starting process with acceptString 'socket,host=127.0.0.1,port=8100,tcpNoDelay=1' and profileDir '/opt/alfresco/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100'
    
     ago 21, 2017 5:12:29 PM org.artofsolving.jodconverter.office.OfficeProcess start
    
     INFORMACIÓN: started process; pid = 18835

Espero que os ayude a más de uno (o a mi si me vuelve a ocurrir :-P).

Links relacionados con la configuración de Libre Office en Alfresco  (muy útiles):

¡Un saludo!

Deja un comentario