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 14/11/2008, à 16:05

matifou

[Résolu] cmt interpréter message bug de g77

Bonjour

j'essaie de compiler deux petits programme en fortran trouvé sur le net: urcdist.f et urcrouts.f (http://econ.queensu.ca/faculty/mackinnon/numdist/). Le premier marche parfait, malheureusement, le deuxième, (une simple modif du premier qui execute le programme en ligne de commande plutot qu'interactif) ne passe pas à la compilation.

J'ai le message:

$ g77 urcrouts.f
/usr/lib/gcc/i486-linux-gnu/3.4.6/../../../../lib/libfrtbegin.a(frtbegin.o): In function `main':
(.text+0x35): undefined reference to `MAIN__'
collect2: ld a retourné 1 code d'état d'exécution

Mais je sais pas trop ce qu'il veut dire... comment l'interpréter, y'a-t-il une variable non définie dans le code? Y'a-t-il un débugger pour g77 (j'arrive pas avec -g)? Et le (.text+0x35) est-il une indication de ligne? Si oui comment le comprendre?

merci pour votre aide, vous me ferez gagner un précieux temps!

Dernière modification par matifou (Le 14/11/2008, à 21:09)

Hors ligne

#2 Le 14/11/2008, à 18:58

ludovic889

Re : [Résolu] cmt interpréter message bug de g77

salut,

mckinnon, unit root, je connais !
wink

il semble que ce soit une erreur de librairie non trouvée. tu peux suivre la discussion http://coding.derkeiler.com/Archive/For … /0539.html et étudier la seconde réponse du thread. Tu feras un truc comme
g77 urcrouts.f -L<adresse d'une librairie>

je pense que tout vient de f2c  (voir le readme de mckinnon)

à suivre


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne

#3 Le 14/11/2008, à 19:38

matifou

Re : [Résolu] cmt interpréter message bug de g77

Salut

Effectivement c'est McKinnon... tu connais? marrant ça! Merci pour ton message! Malheureusement ça ne m'éclaire pas complètement, si je regarde le lien que tu as mis il doit attacher quatre bibliothèques pour lancer un hello world... c'est hoorible, dis moi pas que je dois faire ça?

Je n'ai pas trouvé vers quelle bibliothèque il faudrait lier le truc... as-tu une idée plus précise?

La solution par f2c puis gcc devrait être évitée, mon but est de l'intégrer dans R, qui dispose d'un compilateur fortan.

Mais le plus troublant c'est que la compilation marche pour  le fichier urcdist.f mais pas pour urcrouts.f, qui est une petite modification (en fait le fichier devient une subroutine... peut-être pour qu'il faut alors appeler une commande différente?)

Merci beaucoup de ton aide, mes efforts suivent pour l'instant une marche aléatoire...

Hors ligne

#4 Le 14/11/2008, à 20:00

ludovic889

Re : [Résolu] cmt interpréter message bug de g77

salut,

je ne suis pas un super spécialiste de fortran, alors faut être compréhensif tongue

sinon, en compilant, je trouve ton erreur. en fait je pense que c'est normal: il n'y a qu'une procédure dans le fichier et ça fout la m*rde !

en faisant

g77 -c urcrouts.f

tu demandes de compiler et tu obtiens un fichier objet qui contient ta procédure. c'est sûrement dans cette voie qu'il faut poursuivre pour intégrer dans R (je ne sais pas comment faire ensuite). en regardant http://www.stat.umn.edu/~charlie/rc/, c'est à R de faire la compilation ....


à suivre !


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne

#5 Le 14/11/2008, à 21:09

matifou

Re : [Résolu] cmt interpréter message bug de g77

D'accord j'ai compris.... je pensais qu'il était possible de le lancer depuis le terminal aussi.

Je vais me concentrer sur le code R alors... (pour l'instant évidemment 4a marche pas).

Merci beaucoup pour ton aide!

PS: tu es par hasard contributeur sur wikipedia sous un pseudo très proche?

Hors ligne

#6 Le 14/11/2008, à 22:09

ludovic889

Re : [Résolu] cmt interpréter message bug de g77

oups démasqué !
wink

oui c'est bien moi !


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne