Compilateur Fortran

nastyshrimp

Membre confirmé
5 Juillet 2005
37
7
38
Paris
Bonjour,

Je précise tout de suite que j'ai déjà fait des recherches à ce sujet, sur ce forum ou ailleurs.
Pour ce que j'en ai déduis, il n'y a qu'une seule solution de compilateur Fortran gratuit sur mac : http://hpc.sourceforge.net/

Je précise ensuite que je suis étudiant en physique, pas en info, que j'ai juste fait un peu de C l'an dernier sous Linux, mais qu'à part ça je n'y connais vraiment rien.

J'en viens à mon problème : je n'arrive pas à installer ce compilateur, je ne comprends pas du tout ... je veux juste compiler du fortran 95 vraiment basique (pour faire des simulations ou des calculs), je n'ai pas besoin d'options ou de librairie particulière.
Je suis aussi nouveau sur mac, et pas encore très familier avec les install ...
Et là avec tous les fichiers proposés en anglais, des espèce de ligne de commande, la recommandation d'avoir l'Apple Developper Tools installé ...
J'ai téléchargé ce qui me semblait le compilateur, qui était un fichier à dézipper, mais une fois ouvert il y avait un dossier rempli de fichiers étranges xD
Et sur mon terminal, la commande pour le fortran ne fonctionnait pas.

Donc si quelqu'un a déjà installé la même chose, ou a compris ce qu'il fallait faire, je lui en serais très reconnaissant :)
 
nastyshrimp a dit:
Bonjour,

Je précise tout de suite que j'ai déjà fait des recherches à ce sujet, sur ce forum ou ailleurs.
Pour ce que j'en ai déduis, il n'y a qu'une seule solution de compilateur Fortran gratuit sur mac :

Je précise ensuite que je suis étudiant en physique, pas en info, que j'ai juste fait un peu de C l'an dernier sous Linux, mais qu'à part ça je n'y connais vraiment rien.

J'en viens à mon problème : je n'arrive pas à installer ce compilateur, je ne comprends pas du tout ... je veux juste compiler du fortran 95 vraiment basique (pour faire des simulations ou des calculs), je n'ai pas besoin d'options ou de librairie particulière.
Je suis aussi nouveau sur mac, et pas encore très familier avec les install ...
Et là avec tous les fichiers proposés en anglais, des espèce de ligne de commande, la recommandation d'avoir l'Apple Developper Tools installé ...
J'ai téléchargé ce qui me semblait le compilateur, qui était un fichier à dézipper, mais une fois ouvert il y avait un dossier rempli de fichiers étranges xD
Et sur mon terminal, la commande pour le fortran ne fonctionnait pas.

Donc si quelqu'un a déjà installé la même chose, ou a compris ce qu'il fallait faire, je lui en serais très reconnaissant :)
www.absoft.com
SciTech list Fortran
(pour les payants)

ouvre Terminal.app

$> curl -O http://voxel.dl.sourceforge.net/sourceforge/hpc/g95-tiger-bin.tar.gz
$> tar zxf g95-tiger-bin.tar.gz
$> open /usr/local

installes les ressources dans le dossier local
sans écraser des fichiers existants

$> man install

export PATH=$PATH:/usr/local/bin

$> gfortran

ou

$> /usr/local/bin/gfortran
 
Premièrement merci :)

ouvre Terminal.app ---> Ok ! :p

$> curl -O http://voxel.dl.sourceforge.net/sourceforge/hpc/g95-tiger-bin.tar.gz
---> il n'arrive pas à se connecter à une adresse ip. J'ai téléchargé le fichier à la main (en fait quand on clique sur lien, ça redirige sur un autre en erreur 404 ... mais en tapant l'adresse dans la barre du navigateur, ça fonctionne) et l'ai mis dans mon "home"l. (aie ?)
$> tar zxf g95-tiger-bin.tar.gz
---> Ok, il dézip.
$> open /usr/local
---> No such file or Directory. (aie ?)

installes les ressources dans le dossier local
sans écraser des fichiers existants
--> qu'est ce qu'une ressource ? le dossier dézippé est dans local en tout cas.

$> man install
---> me file tout un texte dans le terminal, qui m'empêche de taper une commande ensuite. N'ai trouvé que "q" pour en sortir et retaper des commandes, mais je suppose que ça annule ...

export PATH=$PATH:/usr/local/bin
---> Ok, enfin il ne dit rien et je peux continuer.

$> gfortran
---> bash
ou

$> /usr/local/bin/gfortran
---> No such file in directory
Pourtant, j'ai vérifié, il y a bien dans mon "home" un dossier usr, qui inclut un dossier local, qui inclut un dossier bin, qui inclu gfortran (programme).

J'ai raté une étape, je suppose ? :/
 
Il ne doit pas être dans ton home mais à la racine du système de fichiers comme son chemin l'indique : "/" signifie la racine du système de fichiers pas ton home .
 
Le dossier le plus haut dans lequel je puisse remonter avec le Finder pour copier le dossier téléchargé est le home.
Visiblement, avec Lire les informations, ce n'est pas la racine, puisqu'il y a user/nomprénom.

Comment faire pour mettre ça à la racine ?

(désolé pour mes questions qui doivent paraître idiotes mais je débute sur mac en plus ... merci de répondre en tout cas :) )
 
Soit dans le Finder : menu "Aller", item "Aller au dossier ..."
Soit par le terminal.

Il te faudra dans les deux cas, le mot de passe admin et peut être root.
 
nastyshrimp a dit:
Premièrement merci :)

ouvre Terminal.app ---> Ok ! :p

$> curl -O http://voxel.dl.sourceforge.net/sourceforge/hpc/g95-tiger-bin.tar.gz
---> il n'arrive pas à se connecter à une adresse ip. J'ai téléchargé le fichier à la main (en fait quand on clique sur lien, ça redirige sur un autre en erreur 404 ... mais en tapant l'adresse dans la barre du navigateur, ça fonctionne) et l'ai mis dans mon "home"l. (aie ?)
$> tar zxf g95-tiger-bin.tar.gz
---> Ok, il dézip.
$> open /usr/local
---> No such file or Directory. (aie ?)

installes les ressources dans le dossier local
sans écraser des fichiers existants
--> qu'est ce qu'une ressource ? le dossier dézippé est dans local en tout cas.

$> man install
---> me file tout un texte dans le terminal, qui m'empêche de taper une commande ensuite. N'ai trouvé que "q" pour en sortir et retaper des commandes, mais je suppose que ça annule ...

export PATH=$PATH:/usr/local/bin
---> Ok, enfin il ne dit rien et je peux continuer.

$> gfortran
---> bash
ou

$> /usr/local/bin/gfortran
---> No such file in directory
Pourtant, j'ai vérifié, il y a bien dans mon "home" un dossier usr, qui inclut un dossier local, qui inclut un dossier bin, qui inclu gfortran (programme).

J'ai raté une étape, je suppose ? :/
open /usr

si le dossier local est manquant

sudo mkdir -p /usr/local

http://forums.macg.co/vbulletin/showpost.php?p=3495019#10
 
Salut!
comment faire pour eviter d'écrire à chaque fois qu'on démarre le terminal : export PATH=$PATH:/usr/local/bin

est-ce qu'on est obligé d'être en root et de modifier etc/profile ? je l'ai jamais fait et j'ai pas trop
envie de le faire (parce que je sais pas faire)
 
Oui il le faut dans le profile, mais pour pas flipper tu peux utiliser la commande sudo

genre sudo pico /etc/profile et ajouter la ligne
 
Bonjour,

je sais que je remonte un sujet, mais on peut éviter d'en créer un quand il existe déjà :D

Grâce aux explications d'avant j'ai réussi à faire "fonctionner" le compilteur, c'est à dire si je lui tape gfortran il me sort gfortran: no input files

Par contre j'ai écrit un programme qui compile sur et certain (je l'ai fait ce matin sur un autre ordi), mais au cas où :
Bloc de code:
program degminsec

real :: theta, phi, min1, sec1
integer :: deg, min, sec
real, parameter :: pi=3.14159

print*,'valeur angle = (en radian)' ; read*,theta
if (theta < -pi .or. theta > pi) then
        print*,'entrez uen valeur entre',-pi,'et',pi
        stop
else
        phi = 180*theta/pi
        deg = phi
        min1 = phi-deg
        min = min1*60
        sec1 = min1*60 - min
        sec = sec1*60
        print*,theta,'radians donne',deg,'degr&#233;',min,'minutes',sec,'secondes'
end if
end
C'est en fortran 90.

Quand je donne &#231;a au compilateur via :
gfortran -o degminsec degminsec.f90

Il me sort ceci :
Bloc de code:
/usr/bin/ld: table of contents for archive: /usr/local/lib/gcc/powerpc-apple-darwin8.4.0/4.1.0/../../../libgfortranbegin.a is out of date; rerun ranlib(1) (can't load from it)
/usr/bin/ld: table of contents for archive: /usr/local/lib/gcc/powerpc-apple-darwin8.4.0/4.1.0/libgcc.a is out of date; rerun ranlib(1) (can't load from it)
collect2: ld returned 1 exit status
Ma config : ibook G4 Mac OSX version 10.4.8
xcode tool 2.3 install&#233; (ca doit pas &#234;tre la derni&#232;re version...) je pense pas que &#231;a influe m&#234;me si j'ai lu quelque part que &#231;a jouait.

Si quelqu'un a une id&#233;e :zen:

[edit]
gcc install&#233; en faisant un -v &#231;a donne :
Using built-in specs.
Target: powerpc-apple-darwin8
Configured with: /private/var/tmp/gcc/gcc-5341.obj~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5341)
 
gnouf :rolleyes:

bah fait ce qu'il demande en plus il te donne le man ranlib(1)

man 1 ranlib


tu tombes donc sur le man de libtool

ranlib - add or update the table of contents of archive libraries

sudo ranlib /usr/local/lib/gcc/powerpc-apple-darwin8.4.0/4.1.0/../../../libgfortranbegin.a

libgfortranbegin.a is out of date; rerun ranlib(1) (can't load from it)

(j'ai tap&#233; ceci ds google)
paf premiere page
http://gcc.gnu.org/ml/fortran/2006-08/msg00062.html


libgcc.a is out of date; rerun ranlib(1) (can't load from it)


:rolleyes:

ca vole haut en ce moment sur ce forum , il n'y a pas marqu&#233; forum &#224; newbs ou assist&#233;s du cerveau en tout genre
il y a marqu&#233; forums techniques ...
 
Merci pour la réponse, je vais tester

Mais si c'est pour se faire insulter quand on comprend pas ce que veut dire un message d'erreur (que d'ailleurs j'ai soumis à d'autres personnes avant et qui ne savaient que faire non plus...) on peut plus supposer que c'est un forum pour les problèmes !


En plus j'ai repris la suite du sujet d'avant je savais pas ou il était posté j'aurai posté dans newbs sinon, on n'est pas tous né avec un mac dans les mains (ce qui est bien dommage).
 
La petite... incompréhension :D entre nos deux derniers posteurs a, je pense, une explication simple :
- tatouille est un "vrai" développeur et, comme tel, trouve simples certaines choses qui ne le sont pas pour tout le monde ;
- les gens qui programment en Fortran sont souvent (sans doute est-ce le cas de MarbolanGos) des scientifiques qui "utilisent" les outils de développement mais n'ont pas forcément de compétences particulières dans le domaine. Ils maîtrisent généralement les algorithmes scientifiques et la programmation qui va avec mais dès qu'on parle d'édition de liens ou autres, ça échappe à beaucoup.

J'ai souvenir du mystère que représentaient à l'époque les étranges cartes JCL (job control language) qu'on rajoutait au début et à la fin des programmes de simulation qu'on tapait. On se les passait de l'un à l'autre à défaut d'y comprendre quelque chose, ça n'empêchait pas d'arrive à résoudre les systèmes d'équations qui, eux, étaient le sujet du travail.

Le problème, c'est que si on ne met pas le fortran, même à usage scientifique pur, dans le forum développement, je ne vois pas trop où on peut le mettre (à part au bar :D).

je pense que ça peut rendre de grands services à pas mal de gens. Tatouille et quelques autres sont des mines d'or pour ça. Il leur faut un peu de manusétude pour les béotiens qui ne manquent pas toujours de bonne volonté mais ont des compétences en "développement" très ciblées, c'est à dire aussi, limitées. :D
 
:) il ne faut pas se vexer quand je m'enerve c'est pour faire avancer rapidemment
:D et je n'insulte pas je tape (ton objectif c'est de pouvoir compiler ton programme
donc je te tape t'as peur tu fais vite et tu compiles :D )

non ce que je regrette :
l'informatique comme n'importe quelle autre dissipline
demande une reflexion et un esprit d'analyse

et les gens consid&#232;re ceci comme un du bah malheureusement non
c'est un travail

et quand je suis confront&#233; &#224; un probl&#232;me avant de solliciter autrui je retourne le truc
avec tous les outils que j'ai en main et j'en ai un de g&#233;nial :

www.google.com

quand j'ai un message d'erreur que je ne sais pas correctement interpreter
j'en colle des morceaux dans google qui me donne &#224; 99 % satisfaction

et je ne parle pas seulement d'informatique car je m'interresse &#224; d'autres choses aussi

une r&#232;gle : plus vous apprenez de choses, plus vous pouvez en apprendre rapidemment
vous avez tous un HD infinie :)

et si MarbolanGos est scientifique il est encore plus coupable :)

pour finir avant de toucher un truc je lis la documentation
et fait quelque recherche d'exemples

:zen:
 
Luc G a raison j'utilise ca pour essayer de faire de l'analyse numérique, mais bon c'est vraiment pas ma tasse de thé, un bon stylo pour faire les calculs c'est plus efficace à mon goût.

Bah oui on peut considérer queje suis scientifique et google c'est mon premier réflexe, mais comme j'ai dit dans le 2ème poste, j'ai pas compris le message d'erreur donc pour moi le reflexe c'était d'ecrire la ligne : /usr/bin/ld: table of contents for archive: /usr/local/lib/gcc/powerpc-apple-darwin8.4.0/4.1.0/../../../libgfortranbegin.a is out of date; rerun ranlib(1) (can't load from it) dans google et voir ce qu'il sort mais malheureusement j'ai fait chou blanc. Donc savoir qu'il fallait taper ranlib machin chose je pouvais pas trop savoir.

Enfin au final la solution de faire le sudo ranlib ... n'a même pas fonctionné, par contre j'ai téléchargé la denrière version de xcode qui était sur l'apple developper et là le programma a compilé et marché sans problème...
Je devais avoir un "conflit" entre les gcc isntallés au fur et à mesure.

Le fortran dans développement d'accord mais là c'est un problème avec le logiciel qui s'est passé.

Enfin de toute facon je sais très bien que d'ici un ou deuxmois j'aurai une autre erreur que je comprendrai pas et que bien sur google sortira rien et ou on va encore me dire que c'est trivial mais bon si on n'apprend pas on progresse pas.

@tatouille (à prendre en joke) : moi aussi je tape j'insulte pas c'est plus expressif :D
 
: moi aussi je tape j'insulte pas c'est plus expressif :D
:D

c'est que l'installation de xcode a "ranlib"er toutes les archives

c'est juste une date limite sur des objets "storer" statiquement
en effet ces libraries non pas vraiment de version

donc le compilo te dit HA n'est ce pas un peu vieux ?

si l'utilisateur consid&#232;re que non que le yaourt est toujours d'actualit&#233;

ranlib /path/to/libmy.a

ranlib peu extraire les objets aussi et faire bien d'autres choses

:zen: