Fortran 90/95

Aus Physik
Version vom 2. April 2005, 13:30 Uhr von Ahi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Welche Compiler gibt es?

  • g95
  • f90-abs
  • f90-pgi, pgf90
  • f95-intel, ifort
  • f95-lah, lf95
  • f95-nag, f95

Probleme

Linken bringt eine Fehlermeldung über fehlende Funktion: undefined reference to `s_wsfi'

Weil g95 derzeit noch nicht uneingeschränkt benutzbar ist, verwenden wir für Fortran 90 und Fortran 95 fast ausschließlich die kommerziellen Compiler. Diese sind aber in großem Umfang auf Bibliotheken angewiesen, die mit einem Compiler aus der GCC (GNU Compiler Collection, bestehen aus gcc, g77, ...) erstellt wurden und bestimmte Funktionen aus der Runtime-Umgebung der GCC benötigen.

Deshalb ist es manchmal notwendig die Bibliotheken libg2c und (seltener) libgcc zusätzlich mitzulinken. Diese Libraries sind aber vom verwendeten System und dem Compiler-Release abhängig, den korrekten Pfad findet ihr mit dem Kommando gcc -print-file-name=libg2c.a . Um ein Beispielprogramm der NAG-Libs mit dem F95-Compiler von Lahey verwende ich zum Beispiel folgendes Makefile:

  EXTRALIBS=$(shell gcc -print-file-name=libg2c.a) $(shell gcc -print-file-name=libgcc.a)
  g01aafe-lahey: g01aafe.f
          f95-lah g01aafe.f -o g01aafe-lahey \
                  -L /afs/itp.tugraz.at/opt/NAG/2003/fllux20dg/ -lnag \
                  $(EXTRALIBS)