Wie soll ich einen Fortran-Compiler auf einem Mac installieren? (OS X 10.x, x> = 4)

25

Verwandte Frage: Stand des Mac OS in Scientific Computing und HPC

Eine bedeutende Anzahl von Softwarepaketen in der Computerwissenschaft ist in Fortran geschrieben, und Fortran verschwindet nicht. Ein Fortran-Compiler ist auch erforderlich, um andere Softwarepakete zu erstellen (ein bemerkenswertes Beispiel ist SciPy ).

Mac OS X enthält jedoch keinen Fortran-Compiler. Wie installiere ich einen Fortran-Compiler auf meinem Computer?

Geoff Oxberry
quelle
1
Es ist nicht nur Fortran. Macs haben einfach keine hochwertigen unterstützten Repositories wie Debian, in denen einfach alles funktioniert. Auf einem Mac so ziemlich alles zu installieren, was kompliziert ist, ist ein Schmerz.
Stali

Antworten:

32

Wähle dein Gift. Ich empfehle Homebrew. Ich habe alle diese Methoden außer "Fink" und "Andere Methoden" ausprobiert. Ursprünglich bevorzugte ich MacPorts, als ich diese Antwort schrieb. In den zwei Jahren seit dem ist Homebrew als Projekt stark gewachsen und hat sich als wartbarer erwiesen als MacPorts, was viel PATHHacking erfordern kann .

Installieren einer Version, die den Systemcompilern entspricht

Wenn Sie die Version von gfortran wollen g die Versionen von gcc, anzupassen ++ usw. auf Ihrem Rechner installiert haben , laden Sie die entsprechende Version von gfortran von hier . Die R-Entwickler und SciPy-Entwickler empfehlen diese Methode.

  • Vorteile : Passt zu Versionen von Compilern, die mit XCode oder Kenneth Reitz installiert wurden . Es ist unwahrscheinlich, dass Betriebssystem-Upgrades beeinträchtigt werden. koexistiert gut mit MacPorts (und wahrscheinlich Fink und Homebrew), weil es installiert wird /usr/bin. Beeinträchtigt keine vorhandenen Compiler. Muss nicht bearbeitet werden PATH.
  • Nachteile : Der Compiler-Stack ist sehr alt. (GCC 4.2.1 ist der neueste Apple-Compiler. Er wurde 2007 veröffentlicht.) Installiert auf /usr/bin.

Installieren einer vorkompilierten, aktuellen Binärdatei von HPC Mac OS X

HPC Mac OS X verfügt über Binärdateien für die neueste Version von GCC (zum Zeitpunkt der Erstellung dieses Dokuments 4.8.0 (experimentell)) sowie über G77-Binärdateien und einen F2C-basierten Compiler. Die PETSc-Entwickler empfehlen diese Methode in ihren FAQ .

  • Vorteile : Mit dem richtigen Befehl installiert /usr/local; auf dem neuesten Stand. Beeinträchtigt weder vorhandene System-Compiler noch den oben beschriebenen Ansatz. Beeinträchtigt Betriebssystem-Upgrades nicht.
  • Nachteile : müssen bearbeitet werden PATH. Keine einfache Möglichkeit, zwischen Versionen zu wechseln. (Sie können den PFAD ändern, die Compiler-Installation löschen oder um ihn herum treiben.) Werden andere Methoden zum Installieren von Compilern überfordert, /usr/localda Compiler-Binärdateien einfach den Namen 'gcc', 'g ++' usw. haben (ohne Versionsnummer und ohne Symlinks).

Verwenden Sie MacPorts

MacPorts stellt eine Reihe von Compilerversionen zur Verfügung.

  • Vorteile : Installiert in /opt/local; port selectkann verwendet werden, um zwischen Compilerversionen (einschließlich System-Compilern) zu wechseln. Beeinträchtigt Betriebssystem-Upgrades nicht.
  • Nachteile : Die Installation von Ports erfordert in der Regel ein vollständiges "Software-Ökosystem". Compiler enthalten keine Debugging-Symbole, was bei der Verwendung eines Debuggers oder der Installation von PETSc zu Problemen führen kann. ( Sean Farley schlägt einige Problemumgehungen vor.) Muss ebenfalls geändert werden PATH. Könnte die Installation von Homebrew und Fink stören. (Siehe diesen Beitrag auf SuperUser .)

Verwenden Sie Homebrew

Homebrew kann auch zum Installieren eines Fortran-Compilers verwendet werden.

  • Vorteile : Einfach zu bedienender Paketmanager; Installiert denselben Fortran-Compiler wie unter "Installieren einer Version, die den System-Compilern entspricht". Installieren Sie nur das, was Sie benötigen (im Gegensatz zu MacPorts). Könnte einen neueren GCC (4.7.0) -Stack unter Verwendung der Homebrew-Dupes des alternativen Repositorys installieren.
  • Nachteile : Vererbt alle Nachteile von "Installieren einer Version, die den Systemcompilern entspricht". Möglicherweise müssen Sie das Homebrew-Paradigma befolgen, wenn Sie andere (nicht-Homebrew-) Software installieren /usr/local, um Fehler zu vermeiden. Kann die Installation von MacPorts und Fink beeinträchtigen. (Siehe diesen Beitrag auf SuperUser .) Muss geändert werden PATH. Installationen können von Systembibliotheken abhängen, was bedeutet, dass Abhängigkeiten für Homebrew-Pakete bei einem Betriebssystem-Upgrade unterbrochen werden können. (Siehe diesen Artikel .) Ich würde nicht erwarten, dass es Systembibliotheksabhängigkeiten gibt, wenn Sie gfortran installieren, aber es könnte solche Abhängigkeiten geben, wenn Sie andere Homebrew-Pakete installieren.

Benutze Fink

Theoretisch können Sie mit Fink gfortran installieren. Ich habe es nicht benutzt und kenne niemanden, der es hat (und bereit war, etwas Positives zu sagen).

Andere Methoden

Weitere Binärdateien und Links finden Sie im GFortran-Wiki . Einige der Links sind bereits oben aufgeführt. Die verbleibenden Installationsmethoden können mit den oben beschriebenen in Konflikt stehen oder nicht. Benutzung auf eigene Gefahr.

Geoff Oxberry
quelle
Es gab eine Zeit, in der Fink der bevorzugte Paketmanager gegenüber MacPorts war. Ich habe vor Jahren aufgehört, es zu benutzen, weil der Stack alt und nicht gewartet war und nicht viele der Bibliotheken enthielt, die ich regelmäßig benutzte. Bei nahezu jeder Methode werden einige Dinge vom Paketmanager verwaltet und einige Dinge werden von Hand gerollt. Homebrew ist mit einem solchen System besser, aber es braucht viel mehr Bibliotheken, um mit MacPorts wirklich konkurrenzfähig zu sein.
Aterrel
1
Sie können auch Projekte wie Sage (sagemath.org) oder Qsnake ( qsnake.com ) verwenden, die einen eigenen Fortran-Compiler enthalten und es Ihnen ermöglichen, in einer "Umgebung" zu arbeiten, in der Sie einfach "gfortran" aufrufen können.
Ondřej Čertík
Ich habe fink's gfortran auf meiner 10.5-Box, habe es aber noch nie ernsthaft getestet. Es wird Cernlib und Geant3 kompilieren, aber ich habe in letzter Zeit auch keine großen Jobs ausgeführt.
dmckee
Für Homebrew ist gfortran jetzt installiert mit 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
Der Link zur Wiki-Seite von Sean Farley funktioniert nicht mehr (in Bezug darauf, wie Debugger mit MacPorts-Installationen arbeiten können). Kann dies erneut verknüpft werden?
TSGM
1

Mit EasyBuild ( http://hpcugent.github.com/easybuild ) können Sie ganz einfach Ihre eigenen GCC-Compiler erstellen und installieren.

Grundsätzlich geben Sie eine einfache easyconfig-Datei (.eb) an, die angibt, was Sie erstellen möchten (GCC + -Version + Satz von Sprachen, für die Compiler erstellt werden sollen + ...), und dann ist das Erstellen und Installieren ein einziger Befehl. Ich würde sagen, es ist ein bisschen wie Homebrew, aber es gibt dir mehr Freiheit.

Außerdem unterstützt EasyBuild viele andere (wissenschaftliche) Softwarepakete, die mit einem einzigen Befehl erstellt und installiert werden können.

Haftungsausschluss: Ich bin Teil des EasyBuild-Teams. Das Erstellen von GCC (mit eingeschlossenem Gfortran) sollte unter OS X funktionieren, andere Builds können jedoch problematisch sein. Wir arbeiten daran, lassen Sie es uns wissen, wenn Sie in Schwierigkeiten geraten.

Kenneth Hoste
quelle
Haben Sie unter OS X getestet? Wenn Sie sagen, "sollte funktionieren", ist es aus Erfahrung oder Erwartungen?
Deer Hunter
@ DeerHunter: Aus Erfahrung ist mein persönlicher Laptop ein Mac mit OS X. Das Erstellen von GCC funktioniert, aber EasyBuild hat bekanntermaßen Probleme mit einigen anderen Builds. Wir hoffen, dass wir das bald untersuchen können.
Kenneth Hoste
Upvoting ... Es stellte sich heraus, dass EASY_BUILD verwendet wurde, um Python-Goodies in RPMs zu packen ...
Deer Hunter
@DeerHunter EasyBuild unterstützt derzeit das Packen von Inhalten in RPMs nicht. Vielleicht verwechseln Sie EasyBuild (das den Befehl 'eb' enthält) mit 'easy_install', dem Python-Installationstool, das von setuptools / disitutils bereitgestellt wird?
Kenneth Hoste
Du hast recht; zufällige Speicherfehler. Ich werde EasyBuild sowieso ausprobieren. Die Verpackung erfolgt durch fpm...
Deer Hunter
0

Ich würde Intel Fortran Composer für MacOS vorschlagen. Es ist gut, aktuell und funktioniert. Eine negative Sache, es ist nicht kostenlos. Ich denke, es gibt eine kostenlose 30-Tage-Testversion.

Unter Linux bieten sie eine kostenlose, nichtkommerzielle Version an.

Elektrizität
quelle
Linux-Benutzer können auch Solaris Studio installieren. Es ist sehr gut integriert (C / C ++ / Fortran-Compiler). Dbxtool ist sehr nützlich, ebenso wie Analyzer (z. B. zum Erkennen von Race-Bedingungen in OpenMP-Programmen).
Stali