Scenari Server 6.1 et postscriptum

Je continue le test en machine virtuelle (Debian) de Scenari server 6. La migration de données depuis une copie SCenari serveur 5 fonctionne, si l’on ne copie pas le repertoire Addon et en supprimant les fichiers _check*

J’ai installé postscriptum via APT (la version 9 et la version 12), ainsi que le nouvel Opale 4 (testé en version US et en version FR), mais j’obtiens toujours la même erreur à la génération * Generation failed.

  • Unable to start Postscriptum (executable not found).

Comme c’est Debian j’ai bien activé les user name space comme spécifié sur SCENARIchain-server 6.1 (Linux)

Lorsque j’accès en SSH et je tente de lancer postscriptum sur un fichier html en ligne de commande, cela fonctionne.

Ci-joint le rapport complet

An error occurred during the last generation.

— Admin details —

<?xml version="1.0" encoding="UTF-8"?>
<start t="21/12/22 17:26:53"/>
<l t="FatalError" d="21/12/22 17:26:57">
	<message type="FatalError" ts="1671640017110" appCtx="chain" user="YvesVDM" thread="ForkJoinPool-1-worker-3" desc="Generation failed.">
		<message type="Exception" ts="1671640017110" appCtx="chain" user="YvesVDM" thread="ForkJoinPool-1-worker-3" desc="Unable to start Postscriptum (executable not found).">
			<details>/var/lib/scenarichain-server6.1/working/prl-chain/resAsFile/Opale.gen.auroraP~en-US~4.0.3/auroraP/ui.doss/build.xml:53: Unable to start Postscriptum (executable not found).
at org.apache.tools.ant.taskdefs.Exit.execute(Exit.java:162)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at java.base/java.util.Vector.forEach(Vector.java:1394)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:155)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at java.base/java.util.Vector.forEach(Vector.java:1394)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:155)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at java.base/java.util.Vector.forEach(Vector.java:1394)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
at net.sf.antcontrib.logic.IfTask$ElseIf.execute(IfTask.java:144)
at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:211)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:155)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at java.base/java.util.Vector.forEach(Vector.java:1394)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:155)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at java.base/java.util.Vector.forEach(Vector.java:1394)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:197)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:155)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at org.apache.tools.ant.Target.execute(Target.java:449)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:184)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:104)
at com.scenari.m.ge.generator.web.WebGenerator.xGenerate(WebGenerator.java:361)
at com.scenari.m.ge.generator.base.GeneratorStatic.generate(GeneratorStatic.java:626)
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$2.run(Universe.java:459)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

— Context —
reg: {« envKeys »:[« itemType »,« securityCtx »],« parent »:{« envKeys »:[« wsp »,« securityCtx »,« uiRoot »,« place »,« infoBroker »,« wedSearchCoord »,« histoEditMgr »],« parent »:{« envKeys »:[« resolver »,« universe »,« securityCtx »],« parent »:{« envKeys »:[« resolver »,« noAuthentication »,« universe »,« securityCtx »]}}}}
uiContext: undefined
wsp: undefined
shortDesc: {« lcDt »:-1,« srcUri »:« /_Exports_Opale/eCN.publi »,« srcSt »:1,« srcDt »:1662907908555,« srcRi »:511,« srcRoles »:[« main:admin »],« srcId »:« id:IGB5enuDzfunK69M2vo3rw »,« srcStamp »:« KEo05kZQo0aWJfBBbPv/+P4yviYHNY6+LrD1PkFHJJk= »,« srcUser »:« YvesVDM »,« drvState »:« createdNew »,« lcSt »:«  »,« itSt »:1,« itSgn »:« @op_odRoot#Xml#Map »,« itModel »:« op_odRoot »}
pubNode: {« ch »:[{},{}]}
genInfo: {« codeGenStack »:« auroraP »,« title »:« Aurora PDF paper publishing »,« status »:« failed »,« uriPub »:« /Mp15enuDzfunK69M2vo3rw/PTCAIP/116UGS/LVC5U7/P0DJMP/VI/~YvesVDM/auroraP/ »,« uriTraces »:« /Mp15enuDzfunK69M2vo3rw/PTCAIP/116UGS/LVC5U7/P0DJMP/VI/~YvesVDM/auroraP/meta/~Traces.xml »,« skin »:« default »,« user »:« YvesVDM »,« storedProps »:{« resolution@stored »:« high »,« publishDecoImg@stored »:« yes »},« skins »:[{« code »:« default »,« title »:« Default skin »}]}
genProps: undefined
customDestPath: undefined
cidInfo: null

— App context —
url: http://172.16.143.140:8080/scenarichain-server6.1/~~static/en-US/home.xhtml#(wsp’Mp15enuDzfunK69M2vo3rw’srcRef’id%3AIGB5enuDzfunK69M2vo3rw’),
timestamp: 21/12/2022, 17:32:37
userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36

Bonjour,

Opale 4, Dokiel 5 et tous les modèles libres basés sur SCENARIbuilder 6.0 utilisent Postscriptum 11.

Bonjour Sam, bonjour à tous,
Dans la documentation d’installation, il est indiqué « Postscriptum 0.12 »
https://doc.scenari.software/SCENARIchain-server/linux/fr/#$0:postscriptum
Là, vous nous dîtes qu’il faut utiliser la version 11. Que faire?
De toute façon, avec la 12, ça ne fonctionne pas…

C’est compliqué lorsque l’on demande à des prestataires de nous installer des serveurs SCENARI, et que la documentation n’est pas conforme. Pour eux, s’ils suivent la doc et que ça ne fonctionne pas, ce n’est plus leur problème…

Seb

Salut Seb,

Bien justement nous venons le mettre à dispo une nouvelle version de tous les modèles libres basés sur SCENARI 6.0 pour qu’ils soient compatible avec Postscriptum 0.12.

Tu n’a donc qu’a installer le wsppack Opale 4.0.4 ou Dokiel 5.0.9 sur un serveur 6.1 avec Postscriptum 0.12.

Bonjour,

Je rebondis sur ce post, car je rencontre le même problème.

  • OS : Almalinux 8.6
  • SCENARI Server 6.1.8
  • Opale 4.0.5

Postscriptum V0.12.5-beta en suivant la procédure de la documentation, mais je me heurte au même problème lors de la génération pdf (Unable to start Postscriptum)

En revanche la conversion html → pdf en ligne de commande sur le serveur fonctionne.

Le problème de chemin est toujours existant avec les dernières version.

J’ai résolu comme ci-dessous :
En renommant le répertoire /opt/postscriptum-0.12 en /opt/postscriptum-0.11, la génération fonctionne (ne pas oublier de modifié le chemin dans le $PATH si nécessaire)

Vincent

Bizarre, cela veux donc dire que /usr/bin/postscriptum n’existe pas sur votre serveur ?

Ah c’est pour ça, sous un serveur Debian-like un symlink est ajouté à l’emplacmeent /usr/bin/postscriptum

Oui, mais sur une install autre que Debian, le chemin de postscriptum doit être /opt/postscriptum-0.11/ (même si la version réelle est supérieure).

Idéalement il devrait être possible d’indiquer le PATH dans un fichier de config générant le .war (comme pour ffmpeg)

Certes, seulement il est aussi possible d’avoir plusieurs modèles différents installés sur le même serveur qui ont besoin de versions spécifiques de Postscriptum. Postscriptum s’efforce d’être rétro compatible, mais c’est pas impossible à un moment que ce soit plus le cas.