Page 1 of 1

Compile VASP 5.4.4 with VTST-176

Posted: Mon Sep 10, 2018 6:35 pm
by nokimann
```
root@com1:/home/vasp/vasp.5.4.4# make all
mkdir build/std ; \
cp src/makefile src/.objects makefile.include build/std ; \
make -C build/std VERSION=std all
mkdir: cannot create directory ‘build/std’: File exists
make[1]: Entering directory '/home/vasp/vasp.5.4.4/build/std'
rsync -ru ../../src/lib .
cp makefile.include lib
make -C lib -j1
make[2]: Entering directory '/home/vasp/vasp.5.4.4/build/std/lib'
make libdmy.a
make[3]: Entering directory '/home/vasp/vasp.5.4.4/build/std/lib'
make[3]: 'libdmy.a' is up to date.
make[3]: Leaving directory '/home/vasp/vasp.5.4.4/build/std/lib'
make[2]: Leaving directory '/home/vasp/vasp.5.4.4/build/std/lib'
rsync -ru ../../src/parser .
cp makefile.include parser
make -C parser -j1
make[2]: Entering directory '/home/vasp/vasp.5.4.4/build/std/parser'
make libparser.a
make[3]: Entering directory '/home/vasp/vasp.5.4.4/build/std/parser'
make[3]: 'libparser.a' is up to date.
make[3]: Leaving directory '/home/vasp/vasp.5.4.4/build/std/parser'
make[2]: Leaving directory '/home/vasp/vasp.5.4.4/build/std/parser'
rsync -u ../../src/*.F ../../src/*.inc .
rm -f vasp ; make vasp ; cp vasp ../../bin/vasp_std
make[2]: Entering directory '/home/vasp/vasp.5.4.4/build/std'
gcc -E -P -C -w chain.F >chain.f90 -DHOST=\"LinuxGNU\" -DMPI -DMPI_BLOCK=8000 -Duse_collective -DscaLAPACK -DCACHE_SIZE=4000 -Davoidalloc -Duse_bse_te -Dtbdyn -Duse_shmem -DNGZhalf
mpif90 -ffree-form -ffree-line-length-none -w -O2 -mtune=native -m64 -I/usr/include -c chain.f90
chain.f90:105:8:

USE neb
1
Fatal Error: Can't open module file ‘neb.mod’ for reading at (1): No such file or directory
compilation terminated.
makefile:169: recipe for target 'chain.o' failed
make[2]: *** [chain.o] Error 1
make[2]: Leaving directory '/home/vasp/vasp.5.4.4/build/std'
cp: cannot stat 'vasp': No such file or directory
makefile:142: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/home/vasp/vasp.5.4.4/build/std'
makefile:10: recipe for target 'std' failed
make: *** [std] Error 2
```

This is the error message when I compiled VASP with VTST-176.
I installed just VASP 5.4.4 without VTST and it succeeded. But this time I encounter

Fatal Error: Can't open module file ‘neb.mod’ for reading at (1): No such file or directory

Re: Compile VASP 5.4.4 with VTST-176

Posted: Mon Sep 10, 2018 6:59 pm
by graeme
Make sure to add the VTST objects to your src/.objects file. This can be done by including a first line in the file:

VTST_OBJS = bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \
fire.o lanczos.o neb.o qm.o opt.o chain.o

and then add those objects after hamil_rot.o, as in:

hamil_rot.o \
$(VTST_OBJS) \
dyna.o \

Re: Compile VASP 5.4.4 with VTST-176

Posted: Tue Sep 11, 2018 1:02 am
by nokimann
In the installation of VTST page, http://theory.cm.utexas.edu/vasp/installation.html
They only refer that we must add variables (*.o) before chain.o
So you mean it has a secret rule of the order more as you mentioned (after hamil_rot.o and before dyna.o)?

Re: Compile VASP 5.4.4 with VTST-176

Posted: Tue Sep 11, 2018 1:31 am
by graeme
No, there is no secret rule. I just looked at my own makefile and stated where it was. To be honest, I'm not sure exactly where in the build order the vtst objects should go. I just figured that giving a specific place was better than suggesting that you place it by trial and error.

Re: Compile VASP 5.4.4 with VTST-176

Posted: Tue Sep 11, 2018 1:31 pm
by nokimann
Now I check .objects files, but I had done what you said to me. And, it gave the error message above.
Or did you mean

hamil_rot.o \
$(bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o fire.o lanczos.o neb.o qm.o opt.o chain.o)\
chain.o \

exactly same as above?

And do I have to change `makefile.include?` I just copied the contents from
http://cms.mpi.univie.ac.at/wiki/index. ... on_of_VASP
It had worked before I started to compile VTST.

My OS is ubuntu 18.04 LTS.

Re: Compile VASP 5.4.4 with VTST-176

Posted: Tue Sep 11, 2018 2:39 pm
by graeme
You do not need to modify makefile.include. Make sure that you do a make clean and check that chain.o is removed before making the vtst version.

Re: Compile VASP 5.4.4 with VTST-176

Posted: Tue Sep 11, 2018 3:44 pm
by nokimann
First, `make clean` doesn't work in VASP folder.
(Ok, I'm not good at programming C++, however, I read about make command
that if I want to use 'clean' option, requires predefinition in 'makefile' or 'makefile.include')

Second, what do you mean by removing chain.o before making the VTST version?
Could you explain more? I so appreciate your responses.

Re: Compile VASP 5.4.4 with VTST-176

Posted: Tue Sep 11, 2018 6:49 pm
by graeme
the command for vasp is:
make veryclean

My concern is that there is an old chain.o object file in the src directory. If you clean the build there should be no .o files in the src subdirectory.

Re: Compile VASP 5.4.4 with VTST-176

Posted: Wed Sep 12, 2018 1:11 pm
by nokimann
Oops! I found out that there are two chain.o in the .object file.
One is for SOURCE, and the another is for SOURCE_GPU.

I wrote extra *.o variable on the SOURCE_GPU. This might cause the error?

And could you let me know the command `make veryclean`? It just removes all files in `build` folder, right?

I will fix the variables and report here tomorrow.

Re: Compile VASP 5.4.4 with VTST-176

Posted: Wed Sep 12, 2018 1:41 pm
by nokimann
Gotcha! I've solved the problem. It was my stupid mistake.
The problem was the double chain.o inside .object file.

Thank you so much, graeme! I learn about many things by this by the way.
All I have to do is to enjoy NEB~