Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/03/2007, à 14:36

adri123

librairie plplot + fortran (g77)

Bonjour,

je n'arrive pas a associer la librairie de graphisme scientifique au compilateur gnu fortran g77.
Sur les fedora de ma fac le tout a été installé proprement : pour compiler un programme avec des appels de fonctions plplot il suffit de faire :

$g77 -o monbinaire source.f -lplplot

Après moultes recherche sur Google (c) et de l'aide acharnée de mon prof de méthodes numériques, je n'ai toujours pas la solution.

Pour ce faire j'ai installé les paquets de librairies plplot et leurs dépendances sur ma machine. Voici les paquets installé :

 libcsiro0 libgfortran1 libltdl3 libplplot-fortran9 libplplot9 libqhull5 libltdl3-dev libplplot-c++9c2 libplplot-dev libqhull-dev plplot9-driver-gnome2 plplot-bin plplot9-driver-xwin autotools-dev libtool

Mais la commande de compilation me retourne :

adri@poivron-vert:~/cours/mn2/projet/partie1$ g77 -o affiche_geometrie affiche_geometrie.f -lplplot
/usr/bin/ld: ne peut trouver -lplplot
collect2: ld a retourné 1 code d'état d'exécution

Réponse de du dit prof :

Que le compilateur ne trouve pas la librairie plplot, sans doute parce
qu'elle est rangée à un endroit "inhabituel".

La commande que je vous ai donnée ne fonctionne que dans la salle A118 ou
l'installation de plplot est particulière.

Sur des installations standards, et je pense que la votre en est une, il
convient d'ajouter au bout de la ligne de compilation, sans oublier les ` :
`plplot-config --libs --with-f77`

plplot-config est un script fabriqué à l'installation qui fournit les
bonnes options de compilation et les bons chemins de librairie.

Je n'ai pas la commande plplot-config mais en faisant quelques recherche j'ai vu que c'était un script. Je l'ai trouvé a cette adresse : http://stuff.mit.edu/afs/athena.mit.edu/software/gdl_v0.9p3/arch/i386_linux26/bin/plplot-config
Je pense que c'est le bon.

Mais la compilation renvoie :

adri@poivron-vert:~/cours/mn2/projet/partie1$ g77 -Wall -o affiche_geometrie affiche_geometrie.f `~/util/plplot-config --libs --with-f77`
plplot_libtool: link: specify a tag with `--tag'
affiche_geometrie.f: Dans le programme `MAIN__':
affiche_geometrie.f:7:
           call plsdev('xwin')
                       ^
Caractère non reconnue à (^) [info -f g77 M LEX]
affiche_geometrie.f:7:
           call plsdev('xwin')
                1                 2
élément lexical invalide à (2) dans l'expression ou la sous-expression à (1)

Pour info, le script seul renvoie :

adri@poivron-vert:~/util$ ./plplot-config --libs --with-f77
plplot_libtool: link: specify a tag with `--tag'

Qu'en pensent les gens du forum ?

Hors ligne

#2 Le 28/03/2007, à 15:39

qqun

Re : librairie plplot + fortran (g77)

Je ne sais pas pour le fortran , mais pour le C ca marche tres bien ,
normalement dans /usr/lib/pkg-config/ tu dois avoir des fichiers du type plplot.pc
pour le C c'est plplotd.pc pour f77 c'est plplotd-f77.pc ect...

donc si tu fait :

 pkg-config --cflags --libs plplotd

tu obtient :

-I/usr/include/plplot  -lplplotd -lqhull -lcsironn -lltdl -ldl -lm -lcsirocsa -lz -lfreetype

pour f77

 pkg-config --cflags --libs plplotd-f77
-I/usr/include/plplot  -lplplotf77d -lplplotf77cd -lplplotd -lqhull -lcsironn -lltdl -ldl -lm -lcsirocsa -lz -lfreetype

pour compiler l'exemple  x01c.c en C dans /usr/share/doc/libplplot-dev/examples/c

gcc x01c.c -o x01ctest `pkg-config --cflags --libs plplotd`

voila en tout cas pour le C cela marche , j'espere que cela t'aideras , mais tu devrais lire les README dans /usr/share/doc/libplplot-dev/ dont le README.pkg-config .

#3 Le 28/03/2007, à 18:59

adri123

Re : librairie plplot + fortran (g77)

Merci qqun!!!

c'était bien la bonne manip!

Cette commande compile :

adri@poivron-vert:~/cours/mn2/projet/partie1$ g77 -Wall -o affiche_geometrie affiche_geometrie.f `pkg-config --cflags --libs plplotd-f77`

Ou encore (équivalent, finalement) :

adri@poivron-vert:~/cours/mn2/projet/partie1$ g77 -Wall -o affiche_geometrie affiche_geometrie.f -I/usr/include/plplot  -lplplotf77d -lplplotf77cd -lplplotd -lqhull -lcsironn -lltdl -ldl -lm -lcsirocsa -lz -lfreetype

En fait je ne connaissais pas l'existence de la commande "pkg-config"! Je vais me renseigner un peu plus sur le sujet, elle a un bon potentiel!

Juste, une petite correction :
le repertoire /usr/lib/pkg-config/ n'existe pas. c'est /usr/lib/pkgconfig/ !

Quelqu'un aurait une idée pour remplacer le

`pkg-config --cflags --libs plplotd-f77`

par un simple

-lplplot

comme sur les machines de ma fac? A moins qu'un simple alias ne suffise?

Merci encore.

Hors ligne