Installieren von TOML Fortran
Contents
Installieren von TOML Fortran#
Diese Anleitung führt Dich durch die Installation der neuesten Version von TOML Fortran. Falls Du FPM, CMake oder meson verwendest, schaue Dir die Integrationsanleitung an, um TOML Fortran automatisch in mitzukompilieren oder bereits installierte Bibliotheken zu finden.
Installation von conda-forge#
Dieses Projekt ist für den mamba-Paketmanager verfügbar und wird auf dem conda-forge-Kanal zur Verfügung gestellt. Um den mamba-Paketmanager zu installieren, empfehlen wir den mambaforge-Installer. Falls der conda-forge-Kanal noch nicht aktiviert ist, füge ihn zu Deinen Kanälen hinzu mit
mamba config --add channels conda-forge
mamba config --set channel_priority strict
Wenn der conda-forge-Kanal aktiviert ist, kann TOML Fortran mit mamba installiert werden:
mamba install toml-f
Es ist möglich, alle verfügbaren Versionen von TOML Fortran für Dein System mit mamba aufzulisten:
mamba repoquery search toml-f --channel conda-forge
FreeBSD Ports#
Ein FreeBSD-Port ist verfügbar
pkg install textproc/toml-f
Falls kein Paket verfügbar ist, kann der Port folgendermaßen gebaut werden
cd /usr/ports/textproc/toml-f
make install clean
Für weitere Informationen schau Dir die toml-f Port-Details an.
Mit spack bauen#
Dieses Projekt ist mit dem spack-Paketmanager verfügbar. Du kannst TOML Fortran mit dem folgenden Befehl installieren:
spack install toml-f
spack load toml-f
Um auf TOML Fortran in deinem spack-Paket zu verwenden, kannst du eine Abhängigkeit hinzufügen mit
depends_on("toml-f")
Mit EasyBuild#
TOML Fortran ist mit EasyBuild verfügbar. Du kannst die verfügbaren Konfigurationen mit dem Suchoption auswählen
❯ eb -S TOML-Fortran
CFGS1=.../easyconfigs/t/TOML-Fortran
* $CFGS1/TOML-Fortran-0.2.2-GCC-10.2.0.eb
* $CFGS1/TOML-Fortran-0.2.2-iccifort-2020.4.304.eb
Wähle eine passende Konfiguration aus und bau TOML Fortran mit
❯ eb TOML-Fortran-0.2.2-GCC-10.2.0.eb -r
== temporary log file in case of crash /tmp/eb-51Jk58/easybuild-NI5Ee1.log
== resolving dependencies ...
== processing EasyBuild easyconfig TOML-Fortran-0.2.2-GCC-10.2.0.eb
== building and installing TOML-Fortran-0.2.2-GCC-10.2.0.eb...
[...]
== Build succeeded for 1 out of 1
== Temporary log file(s) /tmp/eb-51Jk58/easybuild-NI5Ee1.log* have been removed.
== Temporary directory /tmp/eb-51Jk58 has been removed.
TOML Fortran ist nun über ein Umgebungsmodul verfügbar. Für weitere Informationen schau Dir die EasyBuild-Dokumentation an.
Mit Homebrew#
TOML Fortran ist in einem eigenen Tap verfügbar unter grimme-lab/homebrew-qc für den brew Paketmanager. Du kannst den Tap mit dem folgenden Befehl hinzufügen:
brew tap grimme-lab/qc
brew install toml-f
Um mit einem eigenen Fortran-Compiler zu bauen, kannst du die FC
-Umgebungsvariable setzen und die vorhandenen Binärdistribution vom Tap ignorieren
export FC=gfortran-11
brew install -s toml-f
Bemerkung
TOML Fortran wurde noch nicht an `homebrew-core https://github.com/homebrew/homebrew-core>`_ eingereicht.
Vom Quellcode bauen#
Um dieses Projekt aus dem Quellcode in diesem Repository zu bauen, benötigst Du
einen Fortran-Compiler, der Fortran 2008 unterstützt
GFortran 5 oder neuer
Intel Fortran 18 oder neuer
NAG 7 oder neuer
Eines der unterstützten Buildsysteme
Erst, hol Dir den Quellcode per Clone des Repositories
git clone https://github.com/toml-f/toml-f
cd toml-f
Mit Meson#
Um dieses Projekt mit meson zu bauen, benötigst Du ein Build-System, wie ninja Version 1.7 oder neuer.
meson setup _build --prefix=/path/to/installation
Du kannst den Fortran-Compiler durch die Umgebungsvariable FC
auswählen. Um das Projekt zu kompilieren, rufe den folgenden Befehl auf
meson compile -C _build
Wir arbeiten mit einer Validator-Suite um die Standardkonformität dieser Implementierung zu testen. Um diese Test zu durchführen, benötigst Du eine go-Installation. Die Installation der Validator-Suite wird automatisch von meson in den go-Arbeitsbereich eingebunden. Die Tests werden folgendermaßen aufgerufen
meson test -C _build --print-errorlogs
Um den kompletten Decoder-Test auszuführen, füge den Benchmark-Parameter hinzu. Dieser Test wird zur Zeit fehlschlagen, da die Implementierung noch Unicode-Escape-Sequenzen nicht unterstützt.
meson test -C _build --benchmark --print-errorlogs
Das Programm zum Transkribieren von TOML-Dokumenten in das Testformat ist _build/test/toml2json
und kann zur Prüfung auf Basis der Tests verwendet werden. Zum Abschluss kann TOML Fortran wie folgt installiert werden
meson install -C _build
Mit CMake#
Während meson die bevorzugte Bauweise für dieses Projekt ist, bietet es auch CMake-Unterstützung. Konfiguriere den CMake-Build mit
cmake -B_build -GNinja -DCMAKE_INSTALL_PREFIX=/path/to/installation
Ähnlich wie meson kann der Compiler durch die Umgebungsvariable FC
ausgewählt werden. Du kannst das Projekt wie folgt bauen
cmake --build _build
To include toml-f in your CMake project, check the [example integration with CMake](https://github.com/toml-f/tf-cmake-example). The validation suite is currently not supported as unit test for CMake builds and requires a manual setup instead using the toml2json binary. Finally, you can install TOML Fortran with
cmake --install _build
Unterstützte Compiler#
Dies ist eine nicht-komplettierte Liste von getesteten Compilern für TOML Fortran. Compiler mit dem Label latest werden getestet mit den kontinuierlichen Integrationen für jeden Commit.
Compiler |
Version |
Plattform |
Architektur |
Version |
---|---|---|---|---|
GCC |
11.1, 10.3, 9.4, 8.5, 7.5 |
Ubuntu 20.04 |
x86_64 |
0.2.3, latest |
GCC |
9.4, 6.5 |
MacOS 10.15.7 |
x86_64 |
0.2.3, latest |
GCC |
11.0 |
MacOS 11.0 |
arm64 |
0.2.3 |
GCC |
9.4 |
CentOS 7 |
ppc64le |
0.2.3 |
GCC |
9.4 |
CentOS 7 |
aarch64 |
0.2.3 |
GCC/MinGW |
8.1 |
Window Server 2019 |
x86_64 |
0.2.3, latest |
GCC/MinGW |
5.3 |
Window Server 2019 |
x86_64 |
0.2.3 |
Intel |
2022.0 |
Ubuntu 20.04 |
x86_64 |
0.2.3, latest |
Intel |
19 |
OpenSUSE |
x86_64 |
0.2.3 |
NAG |
7.1 |
RHEL |
x86_64 |
0.2.3 |
Compiler die aktuell fehlschlagen sind hier dokumentiert, zusammen mit dem letzten Commit, an dem dieses Verhalten aufgetreten ist. Wenn verfügbar ist ein Problem im Issue-Tracker des Projekts oder der Issue-Tracker der Abhängigkeiten verlinkt. Normalerweise ist es sicher, dass ältere Versionen desselben Compilers auch fehlschlagen und dieses Verhalten ist über Platformen und/oder Architekturen konsistent.
Compiler |
Version |
Plattform |
Architektur |
Referenz |
---|---|---|---|---|
Flang |
20190329 |
Ubuntu 20.04 |
x86_64 |
|
NVHPC |
20.9 |
Manjaro Linux |
x86_64 |