GNU Fortranについてのメモ

GFortranについて

従来、フリーのFotranコンパイラとしては g77がLinux等でよく使われてきた。 g77 は、その名前からはFortran77規格のコンパイラであると思われるかもしれないが、 実際には、Fortran90/95の規格の一部も取り入れられ、Fortran77よりはずっと使いやすくなっていた。

しかし、すでにFortran2003がFortranの最新規格として発表されており、 せめて、Foratran90/95規格のコンパイラが待ち望まれていた。

最近になってようやく実用化されたFortran95規格のフリーのコンパイラには 2つの系統のものがある。

実は、上記の2つとも、Andrew Vaughtによって始められた、オープンソースとしてのFortran95 コンパイラ開発プロジェクトに端を発するものであるが、考え方の違いにより現在では上の2つに 分かれてしまっている。

実際にはG95の方が、GFortranよりもFortran95としての完成度が高いようであるが、 GCC4.xではGFortranが、GCC3.xまでのG77の代わりに、標準のFortranコンパイラとして含まれ、 サポートされるようになっているので、以下では基本的にGFortranを用いることにする。

GFortranの入手

GFortranの最新のバイナリは、 GCC Wiki GFortranのページBinariesから入手できる。

Linux用のバイナリは gfortran-linux.tar.gz というファイルで ある。

(注) これが、GCCのどのバージョンに対応するかは不明である.
インストール後に、gfortran --versionとしても、インストールした日が表示されるだけである
たとえば、2005年8月24日にインストールしたものの場合、以下のようであった。
% gfortran --version
GNU Fortran 95 (GCC 4.1.0 20050824 (experimental))
Copyright (C) 2005 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING
% 

少し前にinstallしたものの場合、上記のGCC 4.1.0の後の日付が、やはりインストールした 日付になっていた。
tarファイルの大きさが異なっていたので、同じものとは思われないので、downloadすると 常に最新のスナップショットが取れるのではないかと思う。

Vine Linux3.1へのGFortranのインストール

今回用いたPCには、GCC 3.3.2がインストールされていたので、以下のようにしてみた。

# cd /usr/local
# tar xvfz (どこかtarファイルの置き場所)/gfortran-linux.tar.gz

このようにすると、下記のようなディレクトリーが作られる。
        /usr/local/ --- irun/ -+- bin/
                               |
                               + include/ --- ssp/
                               |
                               + lib/ --- gcc/i386-linux/4.1.0/ ...
                               |
                               + libexec/ --- gcc/i386-linux/4.1.0/ ...

/usr/local/irun/bin/には、
% ls -l /usr/local/irun/bin/
合計 540
-rwxr-xr-x    1 mhamabe  users       94244 Jul  8 11:50 cpp*
-rwxr-xr-x    3 mhamabe  users       94244 Jul  8 11:50 gcc*
-rwxr-xr-x    1 mhamabe  users       15907 Jul  8 11:50 gccbug*
-rwxr-xr-x    1 mhamabe  users       24348 Jul  8 11:50 gcov*
-rwxr-xr-x    1 mhamabe  users       95748 Jul  8 11:50 gfortran*
-rwxr-xr-x    3 mhamabe  users       94244 Jul  8 11:50 i386-linux-gcc*
-rwxr-xr-x    3 mhamabe  users       94244 Jul  8 11:50 i386-linux-gcc-4.1.0*
% 
といったものがインストールされた。

gfortranだけを使いたい場合は、 /usr/local/irun/bin を、 GCC 3.3.2のインストールされたディレクトリ /usr/bin より後の位置で、コマンドサーチパス (PATHまたはpath)に加える。

さらに、 /usr/local/irun/lib を、LD_LIBRARY_PATH に 加えておく必要もある。