Page 1 of 1

compiling vastcode v3.0b, VASP 5.3.2, Intel v2013.0.079

Posted: Tue Dec 04, 2012 2:23 pm
by hattonps
The make for VASP with vastcode v3.0b, VASP 5.3.2, Intel v2013.0.079 gives warnings:

mpif90 -free -names lowercase -assume byterecl -O2 -ip -c dimer.f90
dimer.F(79): warning #5117: Bad # preprocessor line
#if defined(MPI_CHAIN)
------^
dimer.F(82): warning #5117: Bad # preprocessor line
#endif
------^

then fails with

fpp -f_com=no -free -w0 chain.F chain.f90 -DMPI -DHOST=\"LinuxIFC\" -DIFC -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf -DMPI_BLOCK=8000 -Duse_collective
chain.F(686): #error: #endif without #if.
make: *** [chain.o] Error 1

Any advice on a fix appreciated.

Thanks

Re: compiling vastcode v3.0b, VASP 5.3.2, Intel v2013.0.079

Posted: Wed Dec 05, 2012 4:14 am
by graeme
Can you try preprocessing with cpp, just to help debug this. Perhaps the fpp has some stricter criteria about preprocessor compiler directives.

Re: compiling vastcode v3.0b, VASP 5.3.2, Intel v2013.0.079

Posted: Wed Dec 05, 2012 8:07 pm
by hattonps
Reverting to cpp, by commenting out the second CPP line in the Makefile:

CPP_ = ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)

# this release should be fpp clean
# we now recommend fpp as preprocessor
# if this fails go back to cpp
#bham CPP_=fpp -f_com=no -free -w0 $*.F $*$(SUFFIX)

fixes this.

Thanks

Re: compiling vastcode v3.0b, VASP 5.3.2, Intel v2013.0.079

Posted: Wed Dec 05, 2012 8:11 pm
by graeme
Ok, great. We'll clean up the code so that it is fpp compatible in the next version.

Re: compiling vastcode v3.0b, VASP 5.3.2, Intel v2013.0.079

Posted: Wed Dec 05, 2012 9:24 pm
by hattonps
Could you update this call when an fpp-happy version is released so I know that I can install it and revert to the vasp default way of doing things?

Thanks

Re: compiling vastcode v3.0b, VASP 5.3.2, Intel v2013.0.079

Posted: Fri Jan 04, 2013 4:42 pm
by ikir
I had this problem as well (before seeing this thread), and I seem to have solved it and the subsequent similar problems by removing all spaces before preprocessor directives in chain.F and dimer.F.

(To do this automatically, you can run the following command on the VTST files before you copy them into the VASP directory.)
sed -i 's/^[ ]\+#/#/' chain.F dimer.F