CNS 1.1インストールメモ -- Vine 4/Vine 3  

Intel Compilerを使ってCNSをコンパイル、インストールしました*1。ついでにパッチを作りました。

インストール方法  

ここではインストール先は/usr/local/cns_solve_1.1にしました。

aptで追加インストール  

ファイルの展開  

/usr/local以下に以下のファイルを展開

/usr/localでパッチを当てます。

# cd /usr/local
# patch -p0 < cns_solve_1.1_Vine-3.2_intel-9.0.patch
# cd /usr/local/cns_solve_1.1

以降の作業は/usr/local/cns_solve_1.1で行いました。

cns_solve_envの編集  

cns_solve_envを編集。通常は、

18             setenv CNS_SOLVE '_CNSsolve_location_'

_CNSsolve_location_を環境に合わせて修正します。

18             setenv CNS_SOLVE '/usr/local/cns_solve_1.1'

インストール  

# tcsh                                        (tcshで作業)
# source /opt/intel/cc/9.0/bin/iccvars.csh    (C++環境設定)
# source /opt/intel/fc/9.0/bin/ifortvars.csh  (Fortran環境設定)
# source cns_solve_env
# make install

で終わりです。Intel Compilerでコンパイルされます。

linking: cns_solve
created executable file cns_solve-0606121008.exe

と出力されれば実行ファイルはできているはずです。

備考  

インストール出力の最後の方に

compiling: machine_c.c
machine_c.c(100): warning #880: omission of explicit type is nonstandard ("int" assumed)
  outbuf_()
  ^

という警告が最後に出ますが、どうやらインストールはできているような気がします・・・

CNSでの既知の不具合  

以下の不具合をパッチで修正してあります。

cns_solve_envでsedが通らない  

構造生物グループMLより:

インストール自体は問題なく行ったのに、環境変数ファイルcns_solve_env
にsourceを貼ると

sed: -e expression #1, char 11: Invalid range end

と表示されました。cnsbbによると、FedoraやRedhatEnterprise2から
現れた問題のようで、SEDのオプション仕様が変更されたことが原因の
ようです。そこで、インストール前にcns_solve_envファイルとgetarch
ファイルの以下の部分を次のように変更します。

sed 's/[A-z]  =>  sed 's/[A-Z,a-z]

cns_solve_envには2箇所、getarchには1箇所の変更箇所があります。
そうすると問題なしです。

Vineでは特に影響を受けませんでしたが、ついでだったのでパッチに取り込みました。

CNSにおいてwater_pickができない  

構造生物グループMLより:

私的にはもう一つ気になっている問題がありました。自分の使用している
FC3のDual Xeon PCでは、cnsのwater_pickで水が拾えない(no water residue
となる)ことがしばしばあって困っていました。仕方ないので、もう一台の
Athlon64 PCの方で拾わせていました。これもどうやら最近出てきた問題の
ようで、メモリを3GB以上積むと発現することがあるとcnsbbに出てました。
対応策は以下の通りだそうです。

$ vi $cns_solve_1.1/source/xpeakpik.f
145行目:IF (MPACK.GT.0) THEN  =>  IF (MPACK.NE.0) THEN

と変更してからmake g77installすれば良いようです。

私の環境ではメモリ2GBで再現したのでGCCのバージョンにも依存するのかも知れません。以上のように修正してmakeしたら問題は解決できました [smile]

添付ファイル: filecns_solve_1.1_Vine-3.2_Intel-9.0.patch 2652件 [詳細]
*1 参考文献:平田kunyo博士のCNSインストールメモ