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+ のインストールについては, こちら .