Installation von fpm

Diese Anleitung erklärt die Installation vom Fortran-Paketmanager (fpm) auf verschiedenen Plattformen.

Program herunterladen

Für macOS, Linux und Windows (alles auf x86-64) sind Binärdateien verfügbar, die für jede Version von fpm verfügbar sind, sowie die neueste (Bleeding Edge) Version, die die aktuellste Version des fpm-Main-Branches speichert.

Gehe zu fpm Releases um alle verfügbaren Releases zu sehen. Die herunterladbaren Dateien sind unter Assets in jedem Release-Abschnitt verfügbar. Klick auf den entsprechenden Link, der dem gewünschten Betriebssystem entspricht. Zum Beispiel, um ein fpm-Binary für macOS herunterzuladen, klicke auf den Link, der macos in seinem Namen enthält. Nach dem Herunterladen muss das heruntergeladene Programm ausführbar gemacht werden. Auf Linux und macOS kann dies folgendermaßen erreicht werden

chmod +x fpm-0.5.0-linux-x86_64

Optional, stelle das Binary in einem Verzeichnis, das global zugänglich ist (z.B. in der PATH-Variable auf Linux und macOS). Um das Binary einfacher verwendbar zu machen kann es auch in fpm umbenannt werden.

Für Windows sind sowohl ein selbstverständliches Binary als auch ein Windows-Installer für fpm verfügbar.

Bemerkung

Links, die mit .sha256 enden, stellen die kryptographische Hashes dar, um zu verifizieren, ob die Herunterladen des Binaries erfolgreich war. Um die Integrität des heruntergeladenen Binaries zu verifizieren kann die Prüfsumme lokal berechnet und mit der im Release angegebenen Prüfsumme verglichen werden.

❯ openssl sha256 -r fpm-0.5.0-linux-x86_64
387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8 *fpm-0.5.0-linux-x86_64
❯ cat fpm-0.5.0-linux-x86_64.sha256
387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8  fpm-0.5.0-linux-x86_64

Wenn die Prüfsummen nicht übereinstimmen, war die Herunterladen des Binaries nicht erfolgreich. In diesem Fall kann es erneut versucht werden, die Binaries herunterzuladen und zu verifizieren, dass die Prüfsummen übereinstimmen.

MSYS2 Paketverwaltung

The MSYS2 project provides a package manager and makes many common Unix tools available for Windows.

Bemerkung

Um fpm zu installieren, kann der msys2-x86_64-YYYYMMDD.exe-Installer von der MSYS2-Webseite herunter und ausgeführt werden. MSYS2 wird einige neue Desktop-Verknüpfungen erstellen, wie MSYS terminal, MinGW64 terminal und UCRT64 terminal (mehr Informationen über MSYS2-Terminals sind hier verfügbar).

Für die UCRT64, MinGW64 oder MinGW32-Terminal wird fpm unterstützt.

Öffne ein neues Terminal und aktualisiere die Installation mit

pacman -Syu

Eventuell muss MSYS2 und pacman zuerst aktualisiert, das Terminal neu startet und den obige Befehl erneut ausführt werden, um die installierten Pakete zu aktualisieren.

Wird das MinGW64 terminal verwendet, kann die benötigten Software mit installiert werden

pacman -S git mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-fpm

Tipp

Sowohl git als auch gfortran müssen nicht als Abhängigkeiten für die Funktionalität von fpm installiert werden. Wenn git und gfortran von außenhalb bereitstellt werden, werden diese automatisch gefunden.

Homebrew Paketverwaltung

Der Fortran-Paketmanager (fpm) ist für das homebrew Paketverwaltungs-System auf MacOS von einem zusätzlichen Tap verfügbar. Um fpm via brew zu installieren, füge die neue Tap hinzu und installiere es mit

brew tap awvwgk/fpm
brew install fpm

Komilierte Distributionen sind für MacOS 11 (Catalina) und 12 (Big Sur) für x86_64-Architekturen verfügbar. Für andere Plattformen wird fpm automatisch vom Quellcode erstellt.

Nach diesen Schritten sollte fpm verfügbar und funktionsfähig sein.

Conda Paketverwaltung

Fpm ist auf [conda-forge] verfügbar. Um conda-forge zu nutzen muss es zu den verfügbaren Kanälen hinzugefügt werden:

conda config --add channels conda-forge

Fpm kann mit folgenden Befehlen installiert werden:

conda create -n fpm fpm
conda activate fpm

Alternativ kann fpm auch direkt in die aktuelle Umgebung installiert werden mit

conda install fpm

Bemerkung

Der conda-Paketverwaltung kann von miniforge oder von miniconda installiert werden.

Arch Linux Nutzer Repository

Das Arch Linux Nutzer Repository (AUR) enthält zwei Pakete für den Fortran-Paketmanager (fpm). Mit dem fortran-fpm-bin installiert die statisch verknüpfte Linux/x86_64-Binärdatei aus der Release-Seite, während das fortran-fpm Paket fpm vom Quellcode baut.

Wähle eines der PKGBUILDs aus und lade es mit

git clone https://aur.archlinux.org/fortran-fpm.git
cd fortran-fpm

Wie immer, überprüfe zunächst das PKGBUILD vor der Benutzung. Nach der Überprüfung der PKGBUILD ist es möglich, das Paket mit zu bauen

makepkg -si

Wenn das Paket erfolgreich gebaut ist, kann es mit pacman installiert werden.

Bauen von Quellcode

Um fpm von Quellcode zu bauen, hole die letzte fpm-Quelldatei, entweder durch das Klonen des Repositories von GitHub mit

git clone https://github.com/fortran-lang/fpm
cd fpm

oder durch das Herunterladen eines Tarballs mit den letzten Quellen.

wget https://github.com/fortran-lang/fpm/archive/refs/heads/main.zip
unzip main.zip
cd fpm-main

Das installierende Skript erlaubt es, fpm durch einen Fortran-Compiler, Git und Netzwerkzugriff zu bauen. Starte das Skript, um den Bootstrap-Bau zu starten

./install.sh

Fpm wird in ~/.local/bin/fpm installiert.

Bemerkung

Das Bauen des Bootstrapper-Binaries aus der einzelnen Quelldatei kann ein paar Sekunden dauern, was das Skript scheinbar zum einfrieren bringt.

Tipp

Die Installations-Pfad kann mit der Option --prefix=/Pfad/zum/Installieren angepasst werden.

Wenn das Skript nicht ausgeführt werden kann, kann der Bootstrap-Prozess manuell durchführen, mit den folgenden drei Schritten:

  1. Lade die einzelne Quellversion von fpm herunter

    wget https://github.com/fortran-lang/fpm/releases/download/current/fpm.F90
    
  2. Baue ein Bootstrap-Binary aus der einzelnen Quellversion

    mkdir -p build/bootstrap
    gfortran -J build/bootstrap -o build/bootstrap/fpm fpm.F90
    
  3. Verwende das Bootstrap-Binary, um die fpm mit vollem Funktionsumfang zu bauen

    ./build/bootstrap/fpm install