f77 版インストール

ここでは, DCL(f77) のインストールログを書いてあります. ここの環境はあくまで, 自分の計算機環境ですので, これを参考にインストールを考えておられる方は, 適宜, ご自分の計算機環境に置き換えて, インストールを行ってください.

環境

  • OS : Ubuntu 9.04
  • DCL のバージョン : dcl-5.3.3 (2010 年時点での最新版)
  • Fortran コンパイラ : gfortran

インストール作業事前準備

インストールを行う前に, 以下の作業を行っておく.

  • X

    • X 関連の include ファイルおよび, そのライブラリ (libX11.a) が存在するディレクトリの位置をあらかじめ確認しておく. find コマンドなどで検索しておくとよい. 自分の環境では
    include ファイル : /usr/include 以下に存在
    ライブラリ       : /usr/lib 以下に存在
  • (ここは任意) gtk のインストール
    • DCL では, 図の出力に gtk もサポートしているので, 必要であるなら, gtk もインストールしておく. gtk はubuntu ではパッケージ化されているので,

      # apt-get install libgtk2.0-dev

      を行うと, 関連パッケージが一緒にインストールされる

  • DCL のダウンロード
    • 電脳倶楽部より, 目的の DCL を任意のディレクトリにダウンロードしておく. ダウンロード先はこちら .
  • C コンパイラおよび, Fortran コンパイラの確認
    • 環境変数を陽に指定しなければ, configure により自動でコンパイラが決定される.
    • 陽に指定するには, configure を実行する前に,

      $ export FC=<Fortran コンパイラ名>
      $ export CC=<C コンパイラ名>

      などとして指定しておく.

インストール作業

では, 実際にインストール作業を行っていく. ちなみに, 最新版の DCL ではインストール用のパッケージが用意されていないので, make によるインストールを行う.

  • DCL をダウンロードしたディレクトリに移動する
  • tar ファイルを解凍する

    $ zcat dcl-5.3.tar.gz | tar xvf -
  • 解凍したディレクトリの中に移動し, 中に configure ファイルが存在することを確認する. ここでは, configure コマンドを用いて, Mkinclude および, Makefile を自動的に作成し, それを make することでインストールする.
  • configure コマンドを用いて, Mkinclude ファイルを作成する.

    $ ./configure [オプション]

指定するオプションはここでは以下の通り.

--prefix=/home/satoki/usr/dcl-5.3   # DCL ライブラリを構築する場所 (任意)
--x-includes=/usr/include           # X の include ファイルのパス
--x-libraries=/usr/lib              # X のライブラリへのパス

注意すべきことは, ここで指定しているパスは, インストールする計算機の環境によって変化するので, 自分の環境にあうように設定する. この他に gtk などは自動でパスを設定してくれる (デフォルトの場所にインストールされていれば) ので, gtk に関するオプションは何も指定しない.

  • configure を実行すると, カレントディレクトリに Makefile および Mkinclude ファイルが作成されるので, 作成されていることを確認する.
  • make を実行して, インストールを行う.

    $ make
    $ make install
  • エラーがなければ, 正常にインストールされたことになる.

インストール確認作業

では, ソフトが正常にインストールされたかを確認する.

  • demo ディレクトリに移動する (カレントディレクトリに生成されているはずである) .
  • grph1 ディレクトリの slpack に移動しておく.
  • slpack の中で Makefile が存在することを確認し, slpack のディレクトリの中で, make を実行する.

    $ make
  • 生成された実行ファイルのうち, 任意の1つを実行する.

    $ ./slpk0?
  • 以下のような表記が現れるので, 1~4 (gtk を導入していない場合は 1~3) のうち, 表示させたいものを数字で指定し, Enter キーを打つ.

    WORKSTATION ID (I)  ? ;
    1:X, 2:PS, 3:Tek, 4:Gtk ;
  • 出力結果が正常に表示されれば, インストールは正常に行われている (表示させようとするファイルによって, 出力結果は異なるので適宜読み替える).
  • ちなみに, "slpk01" の実行結果はこちら .

パスの設定

インストールが成功したことを確認したら, パスを設定して, コマンドとして実行できるようにしておく. パスの設定には, 以下のいずれかを行う.

  • 一時的に設定しておきたい場合

    $ export PATH=$PATH:[DCL ライブラリを構築した場所の bin ディレクトリ]
  • 起動時に読み込むようにしておきたい場合

    ホームディレクトリ以下にある, bash の設定ファイルを変更する.

    $ vi ~/.bashrc

    で設定ファイルを開き, 最後尾の空行に以下を追加する.

    export PATH=$PATH:[DCL ライブラリを構築した場所の bin ディレクトリ]

前者の方法だと, 再起動時にその設定は消去されている.

以上でインストール作業は終了.

configure で遭遇するエラー

frt + fcc でのビルド

  • frt コマンドに "-w" オプションがない場合がある.
    • この場合, "-w" オプションはコンパイラで使われず, リンカに渡される. しかし, リンカではこのオプションを使えないので, conftest.o と conftestf.o のリンクができずエラーとなる.
  • 対症療法となる.
    • configure の該当個所の直接編集 (構築環境が Linux の場合).

      IRIX64)
          forts="f90 f77 g77"
          fflags=-w
          ;;
      Linux)
          forts="f95 f90 ifort ifc g95 pgf77 f77 gfortran g77"
          fflags=-w    <- ここを "fflags=" に書き換え.
          ;;
      OSF1)
          forts="f90 f77"
          ;;
      SunOS)
          case `uname -r` in
              4*)
                  forts="f77 frt g77"
                  fflags=-w
                  ;;
              5*)
                  forts="f90 f77 frt g77"
                  SUNF=yes
  • これらはすべて, config.log に warning として出力されている.
  • 加えて, プリプロセッサ指定もおかしかったらしいので,

    export FC=frt
    export CC="fcc -Xg"
    export CPP="fcc -Xg -E"
    export CPPFLAGS="-DNAGf90Fortran"

    と設定した.

参考資料

  • DCL に付属の INSTALL ファイル
  • GTK+ のインストールについては, こちら .


1 つ上に戻る

メインページに戻る