
Ubuntu日本語フォーラム

ログインしていません。
Higuchiと申します。Ubuntu初心者です。NWChemという計算ソフトをUbuntuで動かしています。計算式を変更するため、ソースコードを修正したいと思っています。計算式が入っているサブルーチンを修正→make→make installしたところ、
You must define NWCHEM_TOP in your environment to be the path
of the top level nwchem directory ... something like
setenv NWCHEM_TOP /msrc/home/elvis/nwchem
../../../config/makefile.h:33: *** . 中止.
となりエラーになりました。上記エラーの意味が分からず困っています。
どなたかご存知の方がいらっしゃいましたらご教示ください。よろしくお願いいたします。
【補足】
1. PC
(1)Ubuntu 14.04LTS
(2)32ビット
(3)Intel Core i7-3770 CPU @3.40GHz x 8
(4)memory 3.8 GiB
2. make, make installのログ
rt_tddft_exite.Fが修正しようとしているサブルーチンです。
user@pc:/$ cd /
user@pc:/$ cd /home/user/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils
user@pc:~/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils$ make
/home/user/NWChem-6.6/nwchem-6.6/bin/LINUX/depend.x -I../../include -I../../../ddscf -I/home/user/NWChem-6.6/nwchem-6.6/src/tools/install/include > dependencies
gfortran -c -m32 -march=pentium4 -mtune=pentium4 -g -O2 -g -fno-aggressive-loop-optimizations -g -O0 -I. -I../../include -I../../../ddscf -I/home/user/NWChem-6.6/nwchem-6.6/src/include -I/home/user/NWChem-6.6/nwchem-6.6/src/tools/install/include -DLINUX -DGFORTRAN -DGCC46 -DCHKUNDFLW -DGCC4 -DPARALLEL_DIAG -DDEBUG_PRINT
rt_tddft_excite.F
rt_tddft_excite.F:81.35:
call rt_tddft_update_fields (params, tt)
1
Warning: Dummy argument 'params' with INTENT(IN) in variable definition context (actual argument to INTENT = OUT/INOUT) at (1)
Got lock on /home/user/NWChem-6.6/nwchem-6.6/lib/LINUX/libnwdft.lock
ar r /home/user/NWChem-6.6/nwchem-6.6/lib/LINUX/libnwdft.a rt_tddft_excite.o
ranlib /home/user/NWChem-6.6/nwchem-6.6/lib/LINUX/libnwdft.a
user@pc:~/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils$ sudo make install
[sudo] password for user:
You must define NWCHEM_TOP in your environment to be the path
of the top level nwchem directory ... something like
setenv NWCHEM_TOP /msrc/home/elvis/nwchem
../../../config/makefile.h:33: *** . 中止.
user@pc:~/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils$
以上
オフライン
You must define NWCHEM_TOP in your environment to be the path
of the top level nwchem directory ... something like
setenv NWCHEM_TOP /msrc/home/elvis/nwchem
「NWCHEM_TOP という環境変数を、
"setenv NWCHEM_TOP /msrc/home/elvis/nwchem"
のように設定する必要があります。」
といっています。
NWCHEM_TOP は、ソースファイルのあるディレクトリトップを指示するものだと思います。
( 参照: https://winmostar.com/jp/gmx4wm_jp_linux.html )
make 前に、端末上で、
export NWCHEM_TOP=/home/user/NWChem-6.6
を実行すれば、良いのでは無いでしょうか?
オフライン
si様
早速丁寧なコメントを頂きありがとうございます。
(1)エラー内容(英文)に対する解説、良く分かりました。ありがとうございます。
(2)ご提案の、export NWCHEM_TOP=/home/user/NWChem-6.6をmakeの前に端末で実行してみました。
しかし、makeの段階で下記エラーが連続して出、PCのメモリー使用量がどんどんと増加し、30分後
にはPCがストップしてしまいました。
( cd /home/user/NWChem-6.6/src/config; make /home/user/NWChem-6.6/bin/LINUX/depend.x ; )
/bin/sh: 1: cd: can't cd to /home/user/NWChem-6.6/src/config
../../../config/makefile.h:140: /home/user/NWChem-6.6/src/config/nwchem_config.h: そのようなファイルやディレクトリはありません
/bin/sh: 1: /home/user/NWChem-6.6/src/tools/guess-mpidefs: not found
( cd /home/user/NWChem-6.6/src/config; make /home/user/NWChem-6.6/bin/LINUX/depend.x ; )
/bin/sh: 1: cd: can't cd to /home/user/NWChem-6.6/src/config
../../../config/makefile.h:140: /home/user/NWChem-6.6/src/config/nwchem_config.h: そのようなファイルやディレクトリはありません
/bin/sh: 1: /home/user/NWChem-6.6/src/tools/guess-mpidefs: not found
( cd /home/user/NWChem-6.6/src/config; make /home/user/NWChem-6.6/bin/LINUX/depend.x ; )
/bin/sh: 1: cd: can't cd to /home/user/NWChem-6.6/src/config
../../../config/makefile.h:140: /home/user/NWChem-6.6/src/config/nwchem_config.h: そのようなファイルやディレクトリはありません
/bin/sh: 1: /home/user/NWChem-6.6/src/tools/guess-mpidefs: not found
( cd /home/user/NWChem-6.6/src/config; make /home/user/NWChem-6.6/bin/LINUX/depend.x ; )
/bin/sh: 1: cd: can't cd to /home/user/NWChem-6.6/src/config
../../../config/makefile.h:140: /home/user/NWChem-6.6/src/config/nwchem_config.h: そのようなファイルやディレクトリはありません
・・・・・・
(3) .bashrcの内容変更検討
(a) .bashrcの中には元々、export NWCHEM_TOP="home/user/NWChem-6.6/NWChem-6.6"がありました。
この状態でmake→sudo make installしたものが最初の投稿です。
(b)そこで .bashrcを下記3種類変更してみましたが、結果は「export NWCHEM_TOP=/home/user/NWChem-6.6をmakeの前に端末で実行した場合」と同じでした。
[A] export NWCHEM_TOP="home/user/NWChem-6.6/NWChem-6.6"
export NWCHEM_TOP="home/user/NWChem-6.6"
の2本立て
[b] export NWCHEM_TOP="home/user/NWChem-6.6"
のみ
[C] export NWCHEM_TOP=home/user/NWChem-6.6
のみ
以上が検討結果です。良く分からず書いているのでポイントを得ていないかもしれません。
時間ができたときで結構ですので、何か妙案がありましたら、教えてください。
よろしくお願いいたします。
オフライン
すでに調べられてるかも知れませんが、コンパイルに必要そうな要件の情報をまとめてみました。
Main Page - NWChem
にソースコードからのコンパイル方法について記載されています。
Compiling NWChem - NWChem
簡単に流し読みした感じでは、コンパイル前に設定する環境変数はいくつかあるようです。
またコンパイル環境によって環境変数をどう設定するかは変わってくるようです(OS、CPUやコンパイラーに何を用いてるかに依存する模様)。
このドキュメントにはUbuntu 14.04でのコンパイル手順についても書かれていますが、どの機能を有効化するなどで設定は変わってくるようです。
また、そちらのサイトのフォーラムにコンパイルに関するカテゴリーもあるので、そちらにも目を通すといいかと思います。
NWChem Community Forums - NWChem
make中にPCがストップするのはメモリー不足かも知れません。Higuchiさんの場合ですと32 bitでメモリーが3.8 GiBとのことなのでそのへんもコンパイルするのにはネックになっているのかも知れません。
まずは素のソースコードからコンパイルできる環境を整えてから、変更したソースコードのコンパイルという手順で行うのがいいかと思います。
それとソースコードについては公式サイトのものとは別に以下のUbuntu向けパッケージ用のものもありました。
Ubuntu向けのものが公式のとどう違うのかは調べてみないと分かりませんが、どちらを使うかでコンパイル手順は異なるかも知れません。
nwchem package : Ubuntu
オフライン
yutarine様、si様に教えて頂いたこと、およびNWChem Forumで教えて頂いたことをもとに、
$ cd /home/user/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils
make
$ cd /home/user/NWChem-6.6/nwchem-6.6/src
make link
を行ってみました。
エラーがでなかったので数式を変更して計算してみました。しかし数式を変更しているにも係わらず
同じ数値しか出ませんでした。
問題は二つあると思います。
(1)一つ目はmake, make link方法の間違い
(2)二つ目はソースコードの計算式の修正法の間違い
(2)についてはNWChem Forumに問い合わせたいと思っています。
そこで厚かましいお願いですが、(1)について教えて頂きたいのですが・・・・
(1)についてはエラーが出ていないのでmake, make linkはうまく行っていると勝手に考えていますが、それでよろしいでしょうか?
下記にlogを添付しますので、何か問題などがあれば教えて頂きたく、よろしくお願いいたします。
user@user-desktop:~$ cd /home/user/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils
user@user-desktop:~/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils$ make
/home/user/NWChem-6.6/nwchem-6.6/bin/LINUX64/depend.x -I../../include -I../../../ddscf -I/home/user/NWChem-6.6/nwchem-6.6/src/tools/install/include > dependencies
make: Warning: Archive '/home/user/NWChem-6.6/nwchem-6.6/lib/LINUX64/libnwdft.a' seems to have been created in deterministic mode. '!' will always be updated. Please consider passing the U flag to ar to avoid the problem.
gfortran -c -m64 -ffast-math -Warray-bounds -fdefault-integer-8 -march=native -mtune=native -finline-functions -O2 -g -fno-aggressive-loop-optimizations -g -O -I. -I../../include -I../../../ddscf -I/home/user/NWChem-6.6/nwchem-6.6/src/include -I/home/user/NWChem-6.6/nwchem-6.6/src/tools/install/include -DGFORTRAN -DCHKUNDFLW -DGCC4 -DGCC46 -DEXT_INT -DLINUX -DLINUX64 -DPARALLEL_DIAG -DDEBUG_PRINT rt_tddft_excite.F
rt_tddft_excite.F:81:35:
call rt_tddft_update_fields (params, tt)
1
Warning: Dummy argument ‘params’ with INTENT(IN) in variable definition context (actual argument to INTENT = OUT/INOUT) at (1)
make: Warning: Archive '/home/user/NWChem-6.6/nwchem-6.6/lib/LINUX64/libnwdft.a' seems to have been created in deterministic mode. 'rt_tddft_excite.o' will always be updated. Please consider passing the U flag to ar to avoid the problem.
make[1]: ディレクトリ '/home/user/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils' に入ります
Got lock on /home/user/NWChem-6.6/nwchem-6.6/lib/LINUX64/libnwdft.lock
ar r /home/user/NWChem-6.6/nwchem-6.6/lib/LINUX64/libnwdft.a rt_tddft_excite.o
echo /home/user/NWChem-6.6/nwchem-6.6/lib/LINUX64/libnwdft.a
/home/user/NWChem-6.6/nwchem-6.6/lib/LINUX64/libnwdft.a
make[1]: ディレクトリ '/home/user/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils' から出ます
user@user-desktop:~/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils$
user@user-desktop:~/NWChem-6.6/nwchem-6.6/src/nwdft/rt_tddft/rtutils$ cd /
user@user-desktop:/$ cd /home/user/NWChem-6.6/nwchem-6.6/src
user@user-desktop:~/NWChem-6.6/nwchem-6.6/src$ make link
make nwchem.o stubs.o
make[1]: ディレクトリ '/home/user/NWChem-6.6/nwchem-6.6/src' に入ります
gfortran -m64 -ffast-math -Warray-bounds -fdefault-integer-8 -march=native -mtune=native -finline-functions -O2 -g -fno-aggressive-loop-optimizations -g -O -I. -I/home/user/NWChem-6.6/nwchem-6.6/src/include -I/home/user/NWChem-6.6/nwchem-6.6/src/tools/install/include -DGFORTRAN -DCHKUNDFLW -DGCC4 -DGCC46 -DEXT_INT -DLINUX -DLINUX64 -DPARALLEL_DIAG -DCOMPILATION_DATE="'`date +%a_%b_%d_%H:%M:%S_%Y`'" -DCOMPILATION_DIR="'/home/user/NWChem-6.6/nwchem-6.6'" -DNWCHEM_BRANCH="'6.6'" -c -o nwchem.o nwchem.F
gfortran -m64 -ffast-math -Warray-bounds -fdefault-integer-8 -march=native -mtune=native -finline-functions -O2 -g -fno-aggressive-loop-optimizations -g -O -I. -I/home/user/NWChem-6.6/nwchem-6.6/src/include -I/home/user/NWChem-6.6/nwchem-6.6/src/tools/install/include -DGFORTRAN -DCHKUNDFLW -DGCC4 -DGCC46 -DEXT_INT -DLINUX -DLINUX64 -DPARALLEL_DIAG -DCOMPILATION_DATE="'`date +%a_%b_%d_%H:%M:%S_%Y`'" -DCOMPILATION_DIR="'/home/user/NWChem-6.6/nwchem-6.6'" -DNWCHEM_BRANCH="'6.6'" -c -o stubs.o stubs.F
make[1]: ディレクトリ '/home/user/NWChem-6.6/nwchem-6.6/src' から出ます
gfortran -L/home/user/NWChem-6.6/nwchem-6.6/lib/LINUX64 -L/home/user/NWChem-6.6/nwchem-6.6/src/tools/install/lib -o /home/user/NWChem-6.6/nwchem-6.6/bin/LINUX64/nwchem nwchem.o stubs.o -lnwctask -lccsd -lmcscf -lselci -lmp2 -lmoints -lstepper -ldriver -loptim -lnwdft -lgradients -lcphf -lesp -lddscf -ldangchang -lguess -lhessian -lvib -lnwcutil -lrimp2 -lproperty -lsolvation -lnwints -lprepar -lnwmd -lnwpw -lofpw -lpaw -lpspw -lband -lnwpwlib -lcafe -lspace -lanalyze -lqhop -lpfft -ldplot -ldrdy -lvscf -lqmmm -lqmd -letrans -lpspw -ltce -lbq -lmm -lcons -lperfm -ldntmc -lccca -lnwcutil -lga -larmci -lpeigs -lperfm -lcons -lbq -lnwcutil -l64to32 -lopenblas -lpthread -lrt -lnwclapack -lnwcblas -L/usr/lib/openmpi/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lrt -lm -lpthread
user@user-desktop:~/NWChem-6.6/nwchem-6.6/src$
オフライン