Page 1 sur 2
code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 16:56
par maurice
Bonjour,
Sans doute un problème déjà évoqué mais je n'ai retrouvé.
Voici un code qui compilait sans problème il y a deux ans mais qui me procure une erreur aujourd'hui et qui d'ailleurs ne passe pas sur le forum.
Code : Tout sélectionner
size(6cm);
defaultpen(fontsize(11pt));
path p1=(-3,0)..(0,1)..(1,0)..(0,-1)..cycle;
path p2=reflect((0,0), (0,1))*p1;
filldraw(p1, lightblue+opacity(.7));
filldraw(p2, lightblue+opacity(.7));
draw(p1^^p2);
// path p=(-3,0)..(0,1)..(1,0)
draw((-3.5,0)..(0,1.5)..(3.5,0)..(0,-1.5)..cycle);
label("$E$", (-3.5,1));
label("$A$", (-2,0));
label("$B$", (2,0));
label("Diagramme de Venn", (0,-2));
l'erreur obtenue est la même que sur le forum.
Code : Tout sélectionner
$ asy -f pdf M1201-1-union.asy
Error: /undefined in .setopacityalpha
Operand stack:
0.7
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2046 1 3 %oparray_pop 2045 1 3 %oparray_pop --nostringval-- 2025 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:967/1684(ro)(G)-- --dict:0/20(G)-- --dict:83/200(L)-- --dict:177/300(L)-- --dict:43/200(L)--
Current allocation mode is local
Current file position is 49657
GPL Ghostscript 9.26: Unrecoverable error, exit code 1
/usr/share/asymptote/plain_shipout.asy: 102.11: runtime: shipout failed
Je n'ai pas suivi les évolutions d'asymptote ces derniers temps...
Ma version est la 2.47 et celle de Ghostscript la 9.26 le tout sous Fedora30.
J'aimerais juste bien comprendre.
Bruno
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 17:44
par GM
Bonjour,
c'est un message d'erreur de ghostscript
et cela compile effectivement chez moi avec une ancienne version 9.21 de ghostscript, alors que sur le serveur du forum la version doit être plus récente.
On voit dans le changelog d'Asymptote qu'il y a eu des modifications relativement à Ghostscript dans la 2.48 :
viewtopic.php?f=4&p=3104#p3104.
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 17:53
par GM
GM a écrit : ↑jeu. 18 juil. 2019, 17:44
On voit dans le changelog d'Asymptote qu'il y a eu des modifications relativement à Ghostscript dans la 2.48 :
viewtopic.php?f=4&p=3104#p3104.
Mais le serveur du forum est avec Asymptote 2.50 et Ghostscript 9.26 et on a le problème aussi...
... donc la mise à jour d'Asymptote ne va apparemment pas être suffisante.
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 17:55
par GM
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
settings.outformat='pdf';
size(6cm);
defaultpen(fontsize(11pt));
path p1=(-3,0)..(0,1)..(1,0)..(0,-1)..cycle;
path p2=reflect((0,0), (0,1))*p1;
filldraw(p1, lightblue+opacity(.7));
filldraw(p2, lightblue+opacity(.7));
draw(p1^^p2);
// path p=(-3,0)..(0,1)..(1,0)
draw((-3.5,0)..(0,1.5)..(3.5,0)..(0,-1.5)..cycle);
label("$E$", (-3.5,1));
label("$A$", (-2,0));
label("$B$", (2,0));
label("Diagramme de Venn", (0,-2));
size(6cm);
defaultpen(fontsize(11pt));
path p1=(-3,0)..(0,1)..(1,0)..(0,-1)..cycle;
path p2=reflect((0,0), (0,1))*p1;
filldraw(p1, lightblue+opacity(.7));
filldraw(p2, lightblue+opacity(.7));
draw(p1^^p2);
// path p=(-3,0)..(0,1)..(1,0)
draw((-3.5,0)..(0,1.5)..(3.5,0)..(0,-1.5)..cycle);
label("$E$", (-3.5,1));
label("$A$", (-2,0));
label("$B$", (2,0));
label("Diagramme de Venn", (0,-2));
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 17:57
par GM
Il faut que je revois comment j'ai codé la création d'image sur le forum car je m'étonne que l'ajout d'un settings.outformat='pdf' règle le problème.
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 18:00
par GM
Que donne l'utilisation de pdflatex ?
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 18:06
par maurice
Même erreur il me semble :
Code : Tout sélectionner
$ asy -f pdf -tex pdflatex M1201-1-union.asy
Error: /undefined in .setopacityalpha
Operand stack:
0.7
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2046 1 3 %oparray_pop 2045 1 3 %oparray_pop --nostringval-- 2025 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:967/1684(ro)(G)-- --dict:0/20(G)-- --dict:82/200(L)--
Current allocation mode is local
Current file position is 542
GPL Ghostscript 9.26: Unrecoverable error, exit code 1
/usr/share/asymptote/plain_shipout.asy: 102.11: runtime: shipout failed
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 18:08
par maurice
l'ajout de
ne change rien non plus chez moi.
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 18:10
par maurice
Par contre l'intersection compile bien.
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus :
Tout sélectionner
size(6cm);
defaultpen(fontsize(11pt));
path p1=(-3,0)..(0,1)..(1,0)..(0,-1)..cycle;
path p2 = (3,0)..(0,-1)..(-1,0)..(0,1)..cycle;
path BiC=buildcycle(p1,p2);
draw(p2^^p1, lightblue);
filldraw(BiC, lightblue, lightblue);
// path p=(-3,0)..(0,1)..(1,0)
draw((-3.5,0)..(0,1.5)..(3.5,0)..(0,-1.5)..cycle);
label("$E$", (-3.5,1));
label("$A$", (-2,0));
label("$B$", (2,0));
label("$A \cap B$", (0,0));
label("Diagramme de Venn", (0,-2));
En fait, j'ai 4 figures, l'union et la différence donne cette erreur et l'intersection et le complémentaire compilent bien
Re: code qui ne compile plus : erreur Ghostscript
Posté : jeu. 18 juil. 2019, 18:15
par GM
Je viens de lire qu'asymptote a longtemps utilisé gs avec l'option "-dSAFER" et c'est elle qui provoque l'erreur.
Il faut donc passer au moins à la version 2.48 d'asymptote
Mais le fait que l'on réussit à provoquer les deux cas sur le forum (erreur de compilation et compilation réussie) montre qu'une fois que tu seras passé à la version 2.48 ou 2.49, il te faudra encore faire attention à tes options de compilations.