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 04/10/2006, à 18:54

H@dron

Compilation avec Intel Fortran

Bonjour à tous,

Je suis un récent utilisateur de Linux (Kubuntu) et je viens d'installer Intel Fortran.
Lorsque je compile un programme basique avec l'extension .f90 çà marche très bien mais lorsque je compile les mêmes fichiers avec l'extension .f (programme en fortran 77), çà me met l'erreur suivante (et là, il n'y en a qu'une partie ... sad).
ludwig@ludwigvinches:~/Desktop/programme/echange de deux parametres$ ifort permutation.f echange.f
fortcom: Error: Illegal character in statement label field  [p]
fortcom: Error: Illegal character in statement label field  [r]
fortcom: Error: Illegal character in statement label field  [o]
fortcom: Error: Illegal character in statement label field  [g]
fortcom: Error: Illegal character in statement label field  [r]

Pouvez m'aider à résoudre ce problème ?
En fait, je fais des tests basiques parce que j'ai des programmes bien plus complexes à compiler (dans le cadre de recherches scientifiques).

Merci à tous pour votre aide.
H@dron.

Hors ligne

#2 Le 04/10/2006, à 19:18

foobar2000

Re : Compilation avec Intel Fortran

Je ne connais rien a Fortran, mais tu devrais peut-etre chercher un certain "progr.." dans ton fichier source tongue


Aucun rapport avec le logiciel du même nom.

Hors ligne

#3 Le 06/10/2006, à 15:53

baba

Re : Compilation avec Intel Fortran

L'extension ".f" est par défaut considérée par le compilateur INTEL
comme du Fortran 77 et non 90. Il attend donc un format de fichier fixe
au niveau des colonnes.

Je crois que tu peux quand même utiliser une option pour forcer le format
libre sur du F77.

Salutations

#4 Le 07/11/2006, à 21:15

big_gie

Re : Compilation avec Intel Fortran

Essaye de renommer les fichier en ".f90", ou sinon, comme suggère baba, rajoute l'option suivante de compilation :

-stand f90

pour obtenir :

> ifort -stand f90 permutation.f echange.f

Ceci spécifie que le code est écrit en Fortran 90. Comme l'indique baba, les fichiers .f sont du Fortran 77, qui requiert une structure spéciale appelée "fixed-format" (par exemple, tout le code doit commencer après 6 ou 7 espaces blancs, IIRC.

Le Fortran 90 est écrit non pas en "fixed-format" mais en "free-format", ie que la structure est celle que tu veux. Tu peux avoir l'indentation de ton choix par exemple. Beaucoup de programme écrit en Fortran 77 sont en format libre. Pour les compiler, tu peux utiliser l'option de compilation "-free" ou "-FR" du compilateur d'Intel (ifort) (les deux options sont équivalentes):

> ifort -free permutation.f echange.f

Je te conseil aussi de compiler un fichier à la fois, pour ensuite lier (link) les fichiers objet (.o) :

> ifort -free -c permutation.f -o permutation.o
> ifort -free -c echange.f -o echange.o
> ifort echange.o echange.o -o programme

L'option "-o" signifie "output". Met le nom de l'exécutable que tu veux obtenir. Si tu n'utilise pas l'option "-o", l'exécutable créé sera appelé "a.out"

Pour connaître toutes les options de compilation du compilateur d'Intel (ifort), tape dans une ligne de commande :

> man ifort

ou ouvre une fenêtre de Konqueror et va à l'adresse :

man://ifort

pour lire le manuel.

Bonne chance

big_gie