Compile VASP 5.4.4 with VTST-176

Vasp transition state theory tools

Moderator: moderators

Post Reply
nokimann
Posts: 18
Joined: Mon Sep 10, 2018 6:27 pm

Compile VASP 5.4.4 with VTST-176

Post 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
graeme
Site Admin
Posts: 2256
Joined: Tue Apr 26, 2005 4:25 am
Contact:

Re: Compile VASP 5.4.4 with VTST-176

Post 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 \
nokimann
Posts: 18
Joined: Mon Sep 10, 2018 6:27 pm

Re: Compile VASP 5.4.4 with VTST-176

Post 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)?
graeme
Site Admin
Posts: 2256
Joined: Tue Apr 26, 2005 4:25 am
Contact:

Re: Compile VASP 5.4.4 with VTST-176

Post 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.
nokimann
Posts: 18
Joined: Mon Sep 10, 2018 6:27 pm

Re: Compile VASP 5.4.4 with VTST-176

Post 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.
graeme
Site Admin
Posts: 2256
Joined: Tue Apr 26, 2005 4:25 am
Contact:

Re: Compile VASP 5.4.4 with VTST-176

Post 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.
nokimann
Posts: 18
Joined: Mon Sep 10, 2018 6:27 pm

Re: Compile VASP 5.4.4 with VTST-176

Post 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.
graeme
Site Admin
Posts: 2256
Joined: Tue Apr 26, 2005 4:25 am
Contact:

Re: Compile VASP 5.4.4 with VTST-176

Post 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.
nokimann
Posts: 18
Joined: Mon Sep 10, 2018 6:27 pm

Re: Compile VASP 5.4.4 with VTST-176

Post 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.
nokimann
Posts: 18
Joined: Mon Sep 10, 2018 6:27 pm

Re: Compile VASP 5.4.4 with VTST-176

Post 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~
Post Reply