Scenariserver ne trouve pas libreoffice

Bonjour,

Dans le cadre d’une nouvelle installation de scenari4.2 sur une debian stretch (en suivant la doc SCENARIchain-server) , la génération de document libreoffice ne fonctionne pas avec le message d’erreur suivant:
« Open document editor not found »

Qu’aurais-je oublié de configurer ?
Merci de votre réponse.

Bonjour Etienne,

Vous avez probablement oublié de déclarer la variable d’environnement UNO_PATH : https://docs.kelis.fr/sc42/scsrv/adminTech/lin/co/configOs_lin.html

Cdt

Antoine

Kelis

Merci Antoine,

J’ai déclaré UNO_PATH dans /etc/environment avec le chemin correspondant au retour de la commande « which libreoffice » mais ce n’est peut-être la bonne méthode…

Tout dépends de comment Tomcat est démarré. Bénéficie-t-il de /etc/environment ?

Il faut croire que non… j’ai déclaré la variable dans /etc/default/tomcat8
et cela semble changer quelque-chose mais j’ai toujours le message:

  • Echec à la transformation d’une ressource (OpenDocument).
    • OpenDocument editor not found.

Mais avec un suplément:

Load ‹ com.sun.star.comp.helper.Bootstrap › failed in jars : [jar:file:/usr/share/scenariserver4.2/webapp/WEB-INF/lib/scenari.jar!/eu/scenari/transform/od/classes/, file:/usr/ure-link/share/java/jurt.jar, file:/usr/ure-link/share/java/ridl.jar, file:/usr/bin/classes/unoil.jar, file:/usr/ure-link/share/java/juh.jar, file:/usr/basis-link/ure-link/share/java/jurt.jar, file:/usr/basis-link/ure-link/share/java/ridl.jar, file:/usr/basis-link/program/classes/unoil.jar, file:/usr/basis-link/ure-link/share/java/juh.jar, file:/usr/bin/classes/jurt.jar, file:/usr/bin/classes/ridl.jar, file:/usr/bin/classes/unoil.jar, file:/usr/bin/classes/juh.jar]
- com.sun.star.comp.helper.Bootstrap

c’est quelle version de LO ?
Je pense qu’il serait mieux d’installer la version 5.0.6.3 depuis les debs proposés par LO :
http://downloadarchive.documentfoundation.org/libreoffice/old/5.0.6.3/

C’est la version la plus récente téléchargée sur https://fr.libreoffice.org (5.4.6)

Je vais essayé avec la version 5.0.6.3

Hmmm bizarre. Les versions téléchargés depuis LO s’installent dans /opt pas dans /usr. Je pense que ton which te joue des tours…

effectivement:
ls -lai /usr/bin/libreoffice5.4
929878 lrwxrwxrwx 1 root root 35 mars 15 01:30 /usr/bin/libreoffice5.4 → /opt/libreoffice5.4/program/soffice

je change la variable UNO_PATH=/opt/libreoffice5.4/program/
et… on avance ! mais

Item racine: /Année_2016-2017/Chap_1/Chap_1_papier.publi

  • Starting OpenDocument editor in pipe mode.
  • [transform] Echec à la transformation [transform] Src=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › [transform] Dst=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › [transform] params=‹ transform=odtUpdate&processings=keepEnumTitle: › [transform] eu.scenari.commons.util.lang.ScException
  • Echec à la transformation Src=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › Dst=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › params=‹ transform=odtUpdate&processings=keepEnumTitle: ›
    • Echec à la transformation d’une ressource (OpenDocument).
      • Connection to server failed : uno:pipe,name=sc1704559212666127783;urp;StarOffice.ComponentContext

Un problème de version de libreoffice ?

Comment est paramétré l’usage de LO ? Via un pool ? il y a un serveur X ? si non, LO est bien démarré en headless ?
https://doc.scenari.software/SCENARIchain-server@4.2/linux/fr/#configSc_generic:Vm5tlCHFVZjkc6ViNqybme

J’ai laissé la configuration par défaut, puis essayé d’augmenter le pool.
Pas de serveur X
C’est bien les Tags « ooConnectionPool » qui détermine si on en en headless ? pas d’autre conf ailleurs ?
J’ai essayé aussi ensuite avec la version de Libreoffice 5.0.6.3 que tu me recommandes…
Sans succès…
Quelle piste suivre maintenant ?

on peut avoir un peut plus de la trace ?

Avec plaisir :slightly_smiling_face:

Traces de ‹ Publication Texte OpenDocument › pour l’item ‹ /Année_2016-2017/Chap_1/Chap_1_papier.publi ›

— User details —
Générateur: gen_paper - Publication Texte OpenDocument
Item racine: /Année_2016-2017/Chap_1/Chap_1_papier.publi

  • Starting OpenDocument editor in pipe mode.
  • Starting OpenDocument editor in pipe mode.
  • Starting OpenDocument editor in pipe mode.
  • [transform] Echec à la transformation [transform] Src=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › [transform] Dst=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › [transform] params=‹ transform=odtUpdate&processings=keepEnumTitle: › [transform] eu.scenari.commons.util.lang.ScException
  • Echec à la transformation Src=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › Dst=‹ /home/scenariserver4.2/javaserver/gen/GA1P3LIOQN20IA6JJQQ8QVDL0/GA1P3L/IOQN20/IA6JJQ/Q8QVEQ/0/~admin/paper/Chap_1_papier.odt › params=‹ transform=odtUpdate&processings=keepEnumTitle: ›
    • Echec à la transformation d’une ressource (OpenDocument).
      • Connection to server failed : uno:pipe,name=sc7309131839838957042;urp;StarOffice.ComponentContext

— Admin details —

<?xml version="1.0" encoding="UTF-8"?>
eu.scenari.commons.util.lang.ScException at eu.scenari.commons.log.LogMgr.newException(LogMgr.java:388) at eu.scenari.transform.od.impl.OoConnection.xConnect(OoConnection.java:447) at eu.scenari.transform.od.impl.OoConnection.checkConnection(OoConnection.java:344) at eu.scenari.transform.od.impl.OoConnectionPool.getConnection(OoConnectionPool.java:180) at eu.scenari.transform.od.impl.OoConnectionPool.getConnection(OoConnectionPool.java:192) at eu.scenari.transform.od.impl.OoConnectionPool.getConnection(OoConnectionPool.java:192) at eu.scenari.transform.od.impl.TfmUpdate.transform(TfmUpdate.java:120) at eu.scenari.transform.od.TfmOpenDocument.transform(TfmOpenDocument.java:137) at com.scenari.m.co.ant.TransformTask.execute(TransformTask.java:96) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:390) at org.apache.tools.ant.Target.performTasks(Target.java:411) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) at org.apache.tools.ant.Project.executeTarget(Project.java:1368) at com.scenari.m.ge.generator.ant.AntGenerator.xGenerate(AntGenerator.java:440) at com.scenari.m.ge.generator.base.GeneratorStatic.generate(GeneratorStatic.java:647) at eu.scenari.wsp.module.gen.ThreadGen.call(ThreadGen.java:170) at eu.scenari.wsp.module.gen.ThreadGen.run(ThreadGen.java:157) at eu.scenari.core.universe.Universe$1.run(Universe.java:393) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

— Js stack —
cbLoadLog@chrome://scenariwsp/content/widgets/genBox/genBox.xbl.xml:805:11
CallbackWrapper.prototype.handleEvent@chrome://scenariwsp/content/commons/servers/HttpDataProvider.jsm:410:17

— App context —
timestamp: 26/4/2018 17:47:55
userAgent: Mozilla/5.0 (X11; Linux i686; rv:42.0) Gecko/20100101 cl.4.2/4.2.106
coreVersion: 4.2.106
brandShortName: SCENARIclient
appVersion: 4.2.106
appBuildId: 201801312141
appDevelopmentStage: final

Sur Ubuntu Server (12.04 ou plus), il faut avoir les packages « libgl1-mesa-glx » et « libglu1-mesa » pour que LibreOffice fonctionne. C’est peut être le cas aussi sur votre os…

Et il y a des traces dans les logs de scserver ?

La piste de l’absence d’une bibliothèque était la bonne: tout fonctionne après l’installation de libdbus-glib-1-2, que ce soit avec Libroffice5.0 ou Libreoffice5.4

C’est parfait ! Merci beaucoup pour votre réactivité et votre disponibilité.

Bonne journée !

Donc en résumé et pour mémoire, pour l’installation de scenariserver sur une debian stretch :

  • Les variables d’environnements OOO_DISABLE_RECOVERY et UNO_PATH peuvent être renseigné dans /etc/default/tomcat8 (et peut-être ailleurs aussi…)
  • La valeur de UNO_PATH doit être celui où sont tous les exécutables de Libreoffice ( et non le retour de la commande 'which libreoffice5.x) Par exemple pour une installation de la version 5.4.x à partir des .deb téléchargés sur le site officiel : /opt/libreoffice5.4/program/
  • Dans le cas d’une installation sans interface de bureau, il manque la librairie libdbus-glib-1-2 pour que Libreoffice fonctionne.
    D’après le site de debian:

Ce paquet fournit une bibliothèque partagée obsolète, basée sur GLib, pour les applications utilisant l’interface GLib pour D-Bus. Les nouveaux programmes devraient utiliser à la place GDBus, élément de GLib.

Il semble donc que Libreoffice utilise encore cette bibliothèque obsolète mais certains y travaillent : 112343 – Consider porting to gdbus.