Problème de compilation

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
plop08
Utilisateur chevronné
Utilisateur chevronné
Messages : 1122
Inscription : mardi 28 avril 2009, 19:05
Localisation : Reims

Problème de compilation

Message par plop08 »

Je suis en train de mettre à jour mes DS (modifs, classes, etc etc) et à grande surprise... ça ne compile plus.

Code : Tout sélectionner

\begin{asy}
import graph;  

void graphicrules(picture pic=currentpicture, real unit=1cm,
                  real xunit=unit != 0 ? unit : 0,
                  real yunit=unit != 0 ? unit : 0,
                  real xmin, real xmax, real ymin, real ymax)
{
  xlimits(xmin, xmax);  
  ylimits(ymin, ymax);
  pic.unitsize(x=xunit,y=yunit);
}

picture millimeterpaper(picture pic=currentpicture, pair O=(0,0),
                        real xmin=infinity, real xmax=infinity,
                        real ymin=infinity, real ymax=infinity,
                        pen p=.5bp+orange)
{
  picture opic;
  real
    cofx=pic.xunitsize/cm,
    cofy=pic.yunitsize/cm;
  real
    xmin= (xmin == infinity) ? pic.userMin.x*cofx : xmin*cofx,
    xmax= (xmax == infinity) ? pic.userMax.x*cofx : xmax*cofx,
    ymin= (ymin == infinity) ? pic.userMin.y*cofy : ymin*cofy,
    ymax= (ymax == infinity) ? pic.userMax.y*cofy : ymax*cofy;
  path
    ph=(xmin*cm,0)--(xmax*cm,0),
    pv=(0,ymin*cm)--(0,ymax*cm);
  real [] step={5, 1, .5, .1};
  pen [] p_={ p, scale(.7)*p, scale(.4)*p, scale(.2)*p};
  
  for (int j=0; j<4; ++j)
    {
      for (real i=O.y; i<= ymax; i+=step[j])
        draw(opic, shift(0,i*cm)*ph, p_[j]);
      for (real i=O.y; i>=ymin ; i-=step[j])
        draw(opic, shift(0,i*cm)*ph, p_[j]);
      for (real i=O.x; i<=xmax; i+=step[j])
        draw(opic, shift(i*cm,0)*pv, p_[j]);
      for (real i=O.x; i>=xmin; i-=step[j])
        draw(opic, shift(i*cm,0)*pv, p_[j]);
    }
  
  return opic;
}

graphicrules(xunit=.6cm, yunit=.25cm, xmin=-10, xmax=10, ymin=-1, ymax=45);
add(millimeterpaper(p=3bp+orange),(0,0));
xaxis(xmin=-10, xmax=10, Ticks("%"));
yaxis(ymin=-1, ymax=45, Ticks("%"));
xequals(Label("$y$",align=2NW),0,ymin=-1, ymax=45, p=linewidth(1.5pt), Arrow(2mm));
yequals(Label("$x$",align=2SE),0,xmin=-10, xmax=10, p=linewidth(1.5pt), Arrow(2mm));
labelx(Label("$2$",UnFill), 1.75);
labely(Label("$5$",UnFill), 4);
labelx("$O$",0,SW);
dot((0,0));

\end{asy}

donne :

Code : Tout sélectionner

asy -V devoirStat2VarTerminale1-1.asy 
devoirStat2VarTerminale1-1.asy: 32.39: no matching variable 'pic.userMin.x'
devoirStat2VarTerminale1-1.asy: 33.39: no matching variable 'pic.userMax.x'
devoirStat2VarTerminale1-1.asy: 34.39: no matching variable 'pic.userMin.y'
devoirStat2VarTerminale1-1.asy: 35.39: no matching variable 'pic.userMax.y'
quelqu'un aurait-il une idée ?
merci :)

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: problème de compilation

Message par chellier »

plop08 a écrit : quelqu'un aurait-il une idée ?
Oui, il faut remplacer tous les userMin et userMax par userMin() et userMax().
Voir ici
plop08 a écrit :merci :)
De rien :wink:
Christophe

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: problème de compilation

Message par GMaths »

Bonjour
plop08 a écrit :ça ne compile plus.
C'est un vieux problème... rappelé récemment : une petite recherche sur "usermin" dans le forum asymptote te donnait la réponse. ;-)

Mais j'ai une question : pourquoi avoir repris une partie du code de graph_pi au lieu de te contenter de "import graph_pi;" ?
Cela t'aurait donné une seconde idée : celle d'aller voir si graph_pi n'avait pas subi une mise à jour par son auteur. ;-)

plop08
Utilisateur chevronné
Utilisateur chevronné
Messages : 1122
Inscription : mardi 28 avril 2009, 19:05
Localisation : Reims

Re: problème de compilation

Message par plop08 »

alors :

avant de poster j'ai collé mon erreur dans google et cela m'a renvoyé ici...
et de deux mon niveau est proche de 0 en asymptote (et dans tous les autres langages de programmation)
donc je n'ai fait qu'utiliser un code que j'ai déjà et que je bricole à tâtons quand je veux changer quelque chose...
je sais c'est laid !

je vous remercie de vos réponses et je vais mettre à jour :)

plop08
Utilisateur chevronné
Utilisateur chevronné
Messages : 1122
Inscription : mardi 28 avril 2009, 19:05
Localisation : Reims

Re: Problème de compilation

Message par plop08 »

plus de problème à la compilation mais un nouveau message que je n'avais jamais vu :

Code : Tout sélectionner

sy -V devoirStat2VarTerminale1-1.asy 
Cannot execute gv
Please put in a file config.asy: 

import settings;
psviewer="LOCATION";

where LOCATION specifies the location of your PostScript viewer.

Alternatively, set the environment variable ASYMPTOTE_PSVIEWER
or use the command line option -psviewer="LOCATION". For further details, see
http://asymptote.sourceforge.net/doc/Configuring.html
http://asymptote.sourceforge.net/doc/Search-paths.html

est ce normal ? il y a eu tant de choses que ça de changer en deux mois ?

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Problème de compilation

Message par GMaths »

Cela veut dire que tu produis une image au format eps et qu'il ne sait pas avec quel logiciel la visualiser : il faut lui donner le chemin vers, par exemple, ghostview sous windows.

Ce n'est pas le source qui est en cause mais l'installation.

Tu as dû avoir un changement matériel ou logiciel... qui fait qu'Asymptote n'a plus le chemin vers le logiciel qui doit te permettre de visualiser les fichiers eps

ou alors tu produisais jusqu'à présent directement des pdf et tu n'avais pas encore eu besoin de préciser à Asymptote le logiciel que tu as choisi pour visualiser les fichiers eps.

plop08
Utilisateur chevronné
Utilisateur chevronné
Messages : 1122
Inscription : mardi 28 avril 2009, 19:05
Localisation : Reims

Re: Problème de compilation

Message par plop08 »

ok ! je pensais avoir bien saisi.

mais avant le passage à Tex Live 2011, il compilait sans chercher de visualiseur.

donc je me retrouve comme un canard qui a trouvé un couteau !

je suis sous Mac OS X Lion.

j'ai tenté dans .asy de faire un config.asy avec :

Code : Tout sélectionner

import settings;
psviewer="/usr/texbin/dvips";
pdfviewer="/usr/texbin/pdflatex";
gs="gs"
mais il me renvoit :

Code : Tout sélectionner

/Users/blahblah/.asy/config.asy: 5.1: unexpected end of input

error: could not load module '/Users/blahblah/.asy/config.asy'

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Problème de compilation

Message par chellier »

Je ne sais pas si c'est ça, mais en tous cas, il manque un ";" à la fin :

Code : Tout sélectionner

import settings;
psviewer="/usr/texbin/dvips";
pdfviewer="/usr/texbin/pdflatex";
gs="gs";
Christophe

plop08
Utilisateur chevronné
Utilisateur chevronné
Messages : 1122
Inscription : mardi 28 avril 2009, 19:05
Localisation : Reims

Re: Problème de compilation

Message par plop08 »

ah ben si... c'est ça ! plus de message d'erreur mais juste :

Code : Tout sélectionner


/usr/texbin/dvips: ! Bad DVI file: first byte not preamble

merci :)

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Problème de compilation

Message par GMaths »

plop08 a écrit :j'ai tenté dans .asy de faire un config.asy avec :

Code : Tout sélectionner

import settings;
psviewer="/usr/texbin/dvips";
pdfviewer="/usr/texbin/pdflatex";
gs="gs"
:shock: :shock:
psviewer et pdfviewer comme leur nom l'indique sont censés être des chemins vers des logiciels qui permettent de visualiser respectivement ps/eps et pdf... qui ont été préalablement produits.

dvips et pdflatex n'en sont pas !!!!

Il y a une confusion entre les moteurs de compilation et les visualiseurs.
Le problème, ce n'est pas asymptote : il te laisse choisir tes logiciels préférés et il ne comprend pas bien que tu lui demandes d'ouvrir un pdf avec pdflatex ou un eps avec dvips !!!!

Quant à gs="gs"; ... je ne connais pas mac, mais gs correspond t-il bien une commande qui s'exécute en console ?

plop08
Utilisateur chevronné
Utilisateur chevronné
Messages : 1122
Inscription : mardi 28 avril 2009, 19:05
Localisation : Reims

Re: Problème de compilation

Message par plop08 »

ok ok ! je vais voir à ça :)

(en fait j'ai copier des lignes que j'ai trouvé dans texmaker)

merci de vos conseils en tout cas :)