0. マシンの構成 Pentium 4 1.7GHz memory 512MB HDD 60GB OS RedHat 7.1 (english version) 作業はすべてrootで行った。 1. まずはダウンロード。 http://www.intel.co.jp/jp/developer/software/products/eval/index.htm に行って、名前とメールアドレスを書くとパッケージのダウンロードができる。 僕が落としたのは次の二つ。 C++ : cc010911rh71.tar fortran : fc010821rh71.tar 同時に、登録したメールアドレスにライセンスファイルが送られてくる。 C++ : l_cpp.lic fortran : l_for.lic でライセンスファイルの中身はこんな感じ。各自確認すること。 (ただし、ライセンスの中身は一部変えてあります) ***l_cpp.lic*** FEATURE l_cpp intelpto 5.01 permanent uncounted BXXXXBBXXXX1 \ HOSTID=ANY SN=NCOfxwpmb SIGN=DXXXX9EXXXX6 *************** ***l_cpp.lic*** FEATURE l_for intelpto 5.01 permanent uncounted 3YYYY55YYYYB \ HOSTID=ANY SN=NCOfxwpmb SIGN=7YYYY2BYYYY0 *************** 2. コンパイラのインストール まずはファイルの解凍。適当なディレクトリで % tar xfv cc010911rh71.tar 等としてファイルを解凍すると、 clicense install intel-icc-5.0.1-129.i386.rpm intel-ldb-5.0.1-119.i386.rpm intel-subh-5.0.1-118.i386.rpm intel-xenv64-5.0.1-35.ia64.rpm intel-ecc64-5.0.1-71.ia64.rpm lgpltext が出来上がる。おもむろに % ./install すると、 Which of the following would you like to install? 1. Intel(R) C++ Compiler for 32-bit applications, Version 5.0.1 Build 010730D0 2. Linux Application Debugger, Version 5.0.1, Build 20010720. x. Exit. と聞いてくるので、もちろん 1 を選択。 注意書きをよく読んで"accept"して、すべてデフォルト設定。 ついでにデバッガもインストールしておく。 /opt/intel/compiler50 /opt/intel/licenses が展開されていることを確認する。 同様にしてfortranもインストールしてしまう。 3. 環境変数の設定 シェルはtcshだと言うことを仮定。 ~/.cshrc に次の2行を加える。 setenv PATH ${PATH}:${HOME}:/usr/local/bin:/opt/intel/compiler50/ia32/bin source /opt/intel/compiler50/ia32/bin/iccvars.csh ここで注意!iccvars.csh の最後の一行が間違っているかもしれません。 間違い) setenv INTEL_FLEXLM_LICENSE=/opt/intel/licenses 正しい) setenv INTEL_FLEXLM_LICENSE /opt/intel/licenses と訂正する(作った人がbashと混同したのかも知れない)。 また、マニュアルによると setenv INTEL_FLEXLM_LICENSE /opt/intel/licenses/license.dat とフルネーム書くのが普通のようです。 (FLEXlm End Users Guide "3.1.2 Setting the Path with an Environment Variable") bash はよく分からないので割愛。愛・・・ 4. ライセンスファイルの設置 このコンパイラはフリーではあるが、ライセンスプログラムをデーモンとして走らせつつ 使用しなければならない。そこで、メールで送られてきたファイルがここで使われる。 しかし、送られてきたままでは使えない。 http://www.intel.co.jp/jp/developer/software/products/compilers/c50/linux/index.htm にある「FLEXlm エンド・ユーザーズ・ガイド (英語)」と言うものをよく読むと 次の二行を追加しなければならない事がわかる。 (FLEXlm End Users Guide "3.3 Sample License File") SERVER マシンの名前 マックアドレス 適当なポート番号 DAEMON intelpto /opt/intel/compiler50/flexlm/intelpto で、要するに/opt/intel/licenseにlicense.datと言うものを作った。 ***license.dat*** SERVER coffee BBAABBAABBAA 12000 DAEMON intelpto /opt/intel/compiler50/flexlm/intelpto FEATURE l_cpp intelpto 5.01 permanent uncounted BXXXXBBXXXX1 HOSTID=ANY SN=NCOfx wpmb SIGN=DXXXX9EXXXX6 FEATURE l_for intelpto 5.01 permanent uncounted 3YYYY55YYYYB HOSTID=ANY SN=NCOfx wpmb SIGN=7YYYY2BYYYY0 ***************** この場合、マシン名は coffee で、そのMACアドレスは BB:AA:BB:AA:BB:AA である。 ポート番号は他と競合しないように、適当に割り振ること。また、fortranも使うので そのライセンスファイルも連続して書いてしまった。書き方としてはこれで十分。 (FLEXlm End Users Guide "3.2 License File Format") 5. デーモンの起動(自動起動させる設定) ライセンスプログラムはログインしてから % /opt/intel/compiler50/flexlm/lmgrd -c /opt/intel/licenses/license.dat -l /opt/intel/licenses/license.log と入力すればよいのだが、いちいち実行するのも面倒なので、 マシンの起動時に一緒に起動するようにしておく。つまり、 /etc/rc.d/init.d にファイル lmgrd (chmod 755)を作り、runlevel 3 5 で起動させる。 lmgrd の中身。 ***lmgrd*** #! /bin/sh # # Source function library. . /etc/rc.d/init.d/functions # See how we were called. case "$1" in start) echo -n "Starting lmgrd: " daemon /opt/intel/compiler50/flexlm/lmgrd -c /opt/intel/licenses/license.dat -l /opt/intel/licenses/license.log echo touch /var/lock/subsys/lmgrd ;; stop) echo -n "Stopping lmgrd: " killproc lmgrd echo rm -f /var/lock/subsys/lmgrd ;; status) status lmgrd ;; restart|reload) $0 stop $0 start ;; *) echo "Usage: lmgrd {start|stop|status|restart}" exit 1 esac exit 0 *********** これを作ったら、 /etc/rc.d/rc3.d /etc/rc.d/rc5.d の二箇所で、 % ln -s ../init.d/lmgrd S98lmgrd とリンクを張る。S98と言うのは適当に競合を避ければよい。 % /etc/rc.d/init.d/lmgrd start で、ps -ef でプロセスが走っていれば、ほぼ大丈夫。 自動でデーモンが走ったり、環境変数がちゃんと反映されるかチェックするために ここら辺でリブートする。 6. 使ってみよう。 一度ここまでやれば、ユーザーが増えたときには 「3. 環境変数の設定」 だけすればOK あとは頑張ってください。
version 6.0 の場合 2. までは一緒 3. 環境変数の設定 ~/.cshrc に追加 setenv PATH ${PATH}:${HOME}:/usr/local/bin:/opt/intel/compiler60/ia32/bin source /opt/intel/compiler60/ia32/bin/iccvars.csh 4. ライセンスファイル メールに添付して送られてきたライセンスファイルコピーして終わり % cp l_cpp_01234567.lic /opt/intel/licenses % cp l_for_76543210.lic /opt/intel/licenses デーモンなども気にしなくて良いみたいです。 ずいぶん簡単になりました・・・
間違いなどあった時はうえすぎまで。