Intel無料版FORTRANのLinux版

ようやく、正しいインストールの仕方が分かった気がする。
http://d.hatena.ne.jp/shun_t/20040409より、こっちの方がより良いだろうと思います。


・とりあえず、ユーザー登録をする。
http://www.intel.com/software/products/compilers/flin/noncom.htm
・登録すると、そのとき書いたメアドに、ライセンスのファイルみたいなものが添付されたメールが送られてくる。
・メールの中に、ダウンロードできるアドレスがのっているので、そこでDLする。現時点ではl_fc_p8.0.034.tar.gz
が落とせるのかな?
・とりあえず、どこかで
tar zvxf l_fc_p8.0.034.tar.gz
だかなんかで解凍する。
・解凍したディレクトリに移ると、./install.shなるプログラムがあるので、実行する。
対話式なので、答えていく。
CPUがセレロンだったせいか、今回の対話中にはなんかIA-32だったかItaniumだったかの選択肢があったので、IA-32のほうを選んでおく。
また、対話の途中で、ライセンスファイルの場所を聞かれるので、あらかじめ適当な場所に置いておき、PATHを答える。
後は、分かると思う・・・。
・インストされた場所(標準では/opt/intel_fc_80/)のbinの中に、環境設定様のスクリプトifortvars.cshもしくはifortvars.shがあるので、適当なシェルの方を実行する。
ちゃんと設定されないと、ifcやifortコマンドがないと言われるし、a.outができて実行したとしても、libcxa.so.5がないとか言われる。
でも、cshでちゃんとifortvars.cshの方を実行しても、ちゃんと環境設定できてないみたいなのよねー。
結局、このスクリプトが何をするのかと言うと、
PATH="/opt/intel_fc_80/bin"
LD_LIBRARY_PATH="/opt/intel_fc_80/lib"
MANPATH="/opt/intel_fc_80/man":$(man -w)
を実行して、それらをexportしているだけのようですので、例えばbashの場合.bash_profileあたりに、
上の三行と
export PATH LD_LIBRARY_PATH MANPATH
を追加しておけばいいのではないかなあ・・・たぶん。


以上で使えるのではないかと思います・・・責任はもちろん持てませんが。

※修正(9/4):
他の日にちにも書きましたが、マニュアル読んだら、ifortvars関連の記載がありました。
bashならば、.bash_profileあたりに
source /opt/intel_fc_80/bin/ifortvars.sh
か何か書き足しておけばいいと思われます。
cshならば.cshrcか何かに
source /opt/intel_fc_80/bin/ifortvars.csh
で。


※さらに追記(11/5)
ちなみになのですが、自動的にプログラムをコンパイルして実行するため、自分の場合はシェルスクリプト書いてcrondしています。
ジョブ管理ソフト使わず経済的!(そうか?)

その場合、crondで一応、シェルスクリプトを実行するユーザー権限は指定できますけれども、crondが実際に実行するとき、指定したユーザーのログインスクリプト(.bash_profileなど)は実行されないため、ifort関連のライブラリなどの環境変数が設定されません。結果、コンパイル失敗します。
したがって、cronでifortしたい場合は、シェルスクリプト始めの方に、上記source何某を書いておいた方がいいのかもしれないです。
Intel Fortran 8.1の場合はg++関連バグがあるそうですが、これも環境変数設定で解決できるらしいので、これについてもシェルスクリプト内に書いておいた方がいいかもしれないです。

※どっこい追記(12/22)
http://d.hatena.ne.jp/shun_t/20041209#p1
にも書きましたが、前述g++関連バグですが、既に取り除かれているようです。

※うーん追記(06/03/13)
シェルかディストリビューションによっては、G++のパスを環境変数に指定しないとまだうまく動かないみたいですね。自分の場合、crtbegin.oがない、というようなエラーが出たことがあります。その場合は上記ifortvarsの記述に加えて
export GXX_ROOT=/usr/lib/gcc-lib/i386-linux/3.2.2/
のような記述が必要です。gcc-lib以下のディレクトリパスは、探してください。vineだとi386-linuxi386-vine-linuxのようになっているでしょうし、3.2.2も3.2.3だったりする可能性があります。