Fortran lokal installieren

Lerne, wie du Fortran lokal installierst, um die Übungen von Exercism auf deinem eigenen Rechner zu lösen


Der Fortran-Track setzt voraus, dass du die folgende Software auf deinem System installiert hast:

  • einen modernen Fortran-Compiler
  • das plattformübergreifende Buildsystem CMake

Voraussetzung: Ein moderner Fortran-Compiler

Dieser Track setzt einen Compiler mit Unterstützung für Fortran 2003 voraus. Alle wichtigen Compiler, die in den letzten Jahren erschienen sind, sollten kompatibel sein.

Im Folgenden wird die Installation von GNU Fortran oder GFortran beschrieben. Andere Fortran-Compiler sind hier aufgelistet. Intel Fortran ist eine beliebte proprietäre Wahl für hochperformante Anwendungen. Die meisten Übungen funktionieren mit Intel Fortran, werden aber nur mit GNU Fortran getestet, daher kann das Ergebnis abweichen.

Voraussetzung: CMake

CMake ist ein plattformübergreifendes Open-Source-Buildsystem, das Buildskripte für dein natives Buildsystem erzeugt (make, Visual Studio, Xcode usw.). Der Fortran-Track von Exercism verwendet CMake, um dir einen fertigen Build zu liefern, der:

  • die Tests kompiliert
  • deine Lösung kompiliert
  • die ausführbare Testdatei linkt
  • die Tests bei jedem Build automatisch ausführt
  • den Build fehlschlagen lässt, wenn Tests fehlschlagen

Mit CMake kann Exercism ein plattformübergreifendes Buildskript bereitstellen, das Projektdateien für integrierte Entwicklungsumgebungen wie Visual Studio und Xcode erzeugen kann. So kannst du dich auf das Problem konzentrieren und musst dir keine Gedanken über die Einrichtung eines Builds für jede Übung machen.

Ein portabler Build ist nicht einfach zu bekommen und erfordert Zugriff auf viele verschiedene Systeme. Wenn du Probleme mit dem mitgelieferten CMake-Rezept hast, melde das Problem bitte, damit wir die CMake-Unterstützung verbessern können.

CMake 2.8.11 oder neuer ist erforderlich, um das bereitgestellte Buildrezept zu verwenden.

Linux

Ubuntu 16.04 und neuer haben kompatible Compiler im Paketmanager, daher kannst du den nötigen Compiler so installieren:

sudo apt-get install gfortran cmake

Bei anderen Distributionen solltest du den Compiler über deinen Paketmanager beziehen können.

MacOS

MacOS-Nutzer können GCC mit Homebrew so installieren:

brew install gfortran cmake

Windows

Unter Windows gibt es mehrere Möglichkeiten:

Windows Subsystem for Linux (WSL)

Windows 10 führt das Windows Subsystem for Linux (WSL) ein. Wenn du Ubuntu 16.04 oder neuer als Subsystem hast, öffne eine Ubuntu-Bash-Shell und folge den Anweisungen für Linux.

Windows mit MingW GNU Fortran

Windows-Nutzer können GNU Fortran über MingW bekommen. Am einfachsten installierst du zuerst chocolatey, öffnest dann eine Administrator-CMD-Shell und führst Folgendes aus:

choco install mingw cmake

Dadurch wird MingW (GFortran und GCC) nach C:\tools\mingw64 installiert und CMake nach C:\Program Files\CMake. Füge dann die bin-Verzeichnisse dieser Installationen zum PATH hinzu, also:

set PATH=%PATH%;C:\tools\mingw64\bin;C:\Program Files\CMake\bin

Windows mit Visual Studio mit NMake und Intel Fortran

Siehe Intel Fortran

Intel Fortran

Für Intel Fortran musst du zuerst den Fortran-Compiler initialisieren. Unter Windows mit Intel Fortran 2019 und Visual Studio 2017 sollte die Kommandozeile so aussehen:

"c:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\bin\ifortvars.bat" intel64 vs2017

Dadurch werden die Pfade für Intel Fortran geladen, und CMake sollte sie korrekt erkennen. Außerdem solltest du unter Windows für einen Kommandozeilen-Build den CMake-Generator NMake angeben, z. B.:

mkdir build
cd build
cmake -G"NMake Makefiles" ..
NMake
ctest -V

Die obigen Befehle erstellen ein build-Verzeichnis (nicht notwendig, aber gute Praxis), bauen mit NMake die ausführbaren Dateien und testen sie (ctest).

Bei anderen Versionen von Intel Fortran suchst du in deiner Installation unter Windows nach ifortvars.bat und unter Linux/macOS nach ifortvars.sh. Führe das Skript in einer Shell ohne Optionen aus, dann erklärt dir eine Hilfe, welche Optionen es gibt. Unter Linux oder MacOS wären die Befehle:

. /opt/intel/parallel_studio_xe_2016.1.056/compilers_and_libraries_2016/linux/bin/ifortvars.sh intel64
mkdir build
cd build
cmake ..
make
ctest -V