Comment dois-je installer un compilateur Fortran sur un Mac? (OS X 10.x, x> = 4)

25

Question connexe: état de Mac OS en calcul scientifique et HPC

Un nombre important de progiciels en science informatique sont écrits en Fortran, et Fortran ne va pas disparaître. Un compilateur Fortran est également requis pour construire d'autres progiciels (un exemple notable étant SciPy ).

Cependant, Mac OS X n'inclut pas de compilateur Fortran. Comment dois-je installer un compilateur Fortran sur ma machine?

Geoff Oxberry
la source
1
Ce n'est pas seulement Fortran. Les Mac n'ont tout simplement pas les référentiels pris en charge de haute qualité comme Debian où tout fonctionne. Installer à peu près n'importe quelle chose compliquée sur un Mac est pénible.
stali

Réponses:

32

Choisissez votre poison. Je recommande d'utiliser Homebrew. J'ai essayé toutes ces méthodes à l'exception de "Fink" et "Other Methods". À l'origine, je préférais MacPorts lorsque j'ai écrit cette réponse. Au cours des deux années qui ont suivi, Homebrew s'est beaucoup développé en tant que projet et s'est révélé plus maintenable que MacPorts, ce qui peut nécessiter beaucoup dePATH piratage.

Installation d'une version qui correspond aux compilateurs système

Si vous souhaitez que la version de gfortran corresponde aux versions de gcc, g ++, etc. installées sur votre machine, téléchargez la version appropriée de gfortran à partir d' ici . Les développeurs R et les développeurs SciPy recommandent cette méthode.

  • Avantages : Correspond aux versions des compilateurs installés avec XCode ou avec le programme d'installation de Kenneth Reitz ; peu susceptible d'interférer avec les mises à niveau du système d'exploitation; coexiste bien avec MacPorts (et probablement Fink et Homebrew) car il s'installe sur /usr/bin. N'encombre pas les compilateurs existants. Pas besoin de modifier PATH.
  • Inconvénients : la pile du compilateur sera vraiment ancienne. (GCC 4.2.1 est le dernier compilateur Apple; il est sorti en 2007.) S'installe sur /usr/bin.

Installation d'un binaire précompilé et à jour à partir de HPC Mac OS X

HPC Mac OS X a des binaires pour la dernière version de GCC (au moment de la rédaction de ce document, 4.8.0 (expérimental)), ainsi que des binaires g77 et un compilateur basé sur f2c. Les développeurs PETSc recommandent cette méthode dans leur FAQ .

  • Avantages : avec la bonne commande, installe dans/usr/local ; à jour. N'encombre pas les compilateurs système existants, ni l'approche ci-dessus. N'interfère pas avec les mises à niveau du système d'exploitation.
  • Inconvénients : besoin de modifier PATH. Pas de moyen facile de basculer entre les versions. (Vous pouvez modifier le CHEMIN, supprimer l'installation du compilateur ou le contourner.) Encombrera d'autres méthodes d'installation des compilateurs /usr/localcar les binaires du compilateur sont simplement nommés 'gcc', 'g ++', etc. (sans numéro de version, et sans tous les liens symboliques).

Utilisez MacPorts

MacPorts propose un certain nombre de versions de compilateurs.

  • Avantages : S'installe dans /opt/local; port selectpeut être utilisé pour basculer entre les versions du compilateur (y compris les compilateurs système). N'interfère pas avec les mises à niveau du système d'exploitation.
  • Inconvénients : l'installation des ports nécessite généralement un "écosystème logiciel" complet. Les compilateurs n'incluent pas de symboles de débogage, ce qui peut poser problème lors de l'utilisation d'un débogueur ou de l'installation de PETSc. ( Sean Farley propose des solutions de contournement.) Nécessite également une modification PATH. Pourrait interférer avec les installations Homebrew et Fink. (Voir cet article sur SuperUser .)

Utilisez Homebrew

Homebrew peut également être utilisé pour installer un compilateur Fortran.

  • Les avantages : Gestionnaire de paquets facile à utiliser; installe le même compilateur Fortran que dans "Installation d'une version qui correspond aux compilateurs système". Installez uniquement ce dont vous avez besoin (contrairement aux MacPorts). Pourrait installer une nouvelle pile GCC (4.7.0) en utilisant le dépôt alternatif homebrew-dupes.
  • Inconvénients : hérite de tous les inconvénients de "Installer une version qui correspond aux compilateurs système". Il peut être nécessaire de suivre le paradigme Homebrew lors de l'installation d'autres logiciels (non Homebrew) /usr/localpour éviter de tout gâcher. Pourrait interférer avec les installations MacPorts et Fink. (Voir cet article sur SuperUser .) Besoin de changer PATH. Les installations peuvent dépendre des bibliothèques système, ce qui signifie que les dépendances des packages Homebrew peuvent se briser lors d'une mise à niveau du système d'exploitation. (Voir cet article .) Je ne m'attendrais pas à ce qu'il y ait des dépendances de bibliothèque système lors de l'installation de gfortran, mais il pourrait y avoir de telles dépendances lors de l'installation d'autres packages Homebrew.

Utiliser Fink

En théorie, vous pouvez utiliser Fink pour installer gfortran. Je ne l'ai pas utilisé et je ne connais personne qui a (et était disposé à dire quelque chose de positif).

Autres méthodes

D'autres fichiers binaires et liens sont répertoriés sur le wiki GFortran . Certains des liens sont déjà répertoriés ci-dessus. Les méthodes d'installation restantes peuvent ou non entrer en conflit avec celles décrites ci-dessus; À utiliser à vos risques et périls.

Geoff Oxberry
la source
Il fut un temps où Fink était le gestionnaire de packages préféré par rapport aux MacPorts. J'ai cessé de l'utiliser il y a des années car la pile était ancienne et non maintenue et ne comprenait pas la plupart des bibliothèques que j'utilisais régulièrement. Avec à peu près toutes les méthodes ici, vous vous retrouvez avec certaines choses gérées par le gestionnaire de paquets et certaines choses que vous roulez à la main. Homebrew est meilleur avec un tel système, mais il a besoin de beaucoup plus de bibliothèques pour être vraiment compétitif avec MacPorts.
aterrel
1
Vous pouvez également utiliser des projets comme Sage (sagemath.org) ou Qsnake ( qsnake.com ), qui livrent leur propre compilateur Fortran et vous permettent de travailler dans "environnement", où vous pouvez simplement appeler "gfortran".
Ondřej Čertík
J'ai le gfortran de fink sur ma boîte 10,5, mais je ne l'ai jamais mis à rude épreuve. Il va compiler cernlib et GEANT3, mais je n'ai pas courir de gros travaux dans ces derniers temps soit.
dmckee
Pour Homebrew, gfortran est maintenant installé avec brew install gcc:$ brew install gfortran gives the message: Error: No available formula for gfortran GNU Fortran is now provided as part of GCC, and can be installed with: brew install gcc
Dave Everitt
Le lien vers la page Wiki de Sean Farley ne fonctionne plus (en référence à la façon de faire fonctionner les débogueurs avec les installations MacPorts). Peut-on relier cela?
TSGM
1

EasyBuild ( http://hpcugent.github.com/easybuild ) vous permet de construire et d'installer facilement votre propre ensemble de compilateurs GCC.

Fondamentalement, vous lui donnez un simple fichier easyconfig (.eb) qui spécifie ce que vous voulez construire (GCC + version + ensemble de langues pour lesquelles vous voulez des compilateurs pour + ...), puis la construction et l'installation sont une seule commande. Je dirais que c'est un peu comme Homebrew, mais cela vous donne plus de liberté.

De plus, EasyBuild prend en charge de nombreux autres progiciels (scientifiques) qui peuvent être construits et installés avec une seule commande, il vaut donc la peine d'examiner.

Avertissement: je fais partie de l'équipe EasyBuild. La construction de GCC (avec gfortran inclus) devrait fonctionner sur OS X, mais d'autres versions peuvent être gênantes. Nous y travaillons, faites-nous savoir si vous rencontrez des problèmes.

Kenneth Hoste
la source
Avez-vous fait des tests sur OS X? Quand vous dites «devrait fonctionner», est-ce à cause de l'expérience ou des attentes?
Deer Hunter
@DeerHunter: Par expérience, mon ordinateur portable personnel est un Mac, exécutant OS X. La construction de GCC fonctionne, mais EasyBuild est connu pour avoir des problèmes avec d'autres builds. Nous espérons examiner cela bientôt.
Kenneth Hoste
Vote positif ... Il s'avère que EASY_BUILD a été utilisé pour empaqueter des goodies python en RPM ...
Deer Hunter
@DeerHunter EasyBuild ne prend actuellement pas en charge le conditionnement des éléments dans les RPM. Peut-être confondez-vous EasyBuild (qui fournit la commande 'eb'), avec 'easy_install', l'outil d'installation Python fourni par setuptools / disitutils?
Kenneth Hoste
Vous avez raison; pannes de mémoire aléatoires. Va vérifier EasyBuild, de toute façon. L'emballage est fait par fpm...
Deer Hunter
0

Je suggère Intel Fortran Composer sur MacOS. C'est bon, à jour et ça marche. Une chose négative, ce n'est pas gratuit. Je pense cependant qu'il y a une évaluation gratuite de 30 jours.

Sous Linux, ils offrent une version gratuite et non commerciale.

electrique
la source
Les utilisateurs Linux peuvent également installer Solaris Studio. Il est très bien intégré (compilateurs C / C ++ / Fortran). Dbxtool est très utile, tout comme l'analyseur (par exemple pour détecter les conditions de concurrence dans les programmes openmp).
stali