Compiling VASP with bdrpro.F
Posted: Tue May 18, 2010 12:44 pm
Dear Sir,
I'm trying to compile VASP with bdrpro.F added, but I have encountered a problem:
During the linking I end up with an error message:
bdrpro.o: In function `mbdrpro_mp_bdrpro_':
bdrpro.f90:(.text+0x142f): undefined reference to `setwav__'
I searched for the "CALL SETWAV" in all *.F files and I found that only in bdrpro.F "CALL SETWAV_()" is used while in the other *.F-files "CALL SETWAV()" is used. So I removed the underscore in bdrpro.F, but I then end up with another error
./preprocess <bdrpro.F | /usr/bin/cpp -P -C -traditional >bdrpro.f90 -DMPI -DHOST=\"Beda_BaderDOS\" -DIFC -Dkind8 -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf -DMPI_BLOCK=8000
mpif90 -FR -lowercase -assume byterecl -O1 -heap-arrays -c bdrpro.f90
bdrpro.f90(237): error #6633: The type of the actual argument differs from the type of the dummy argument. [NB]
CALL SETWAV(W,W1,NB,NK,ISP)
-----------------------^
which I don't know how to handle. Is there way around this issue? I have used intel 11.1.046 and openmpi1.4 for the compilation.
As a side note I had some issues with the subroutine dpbc_car in bdrpro.F, where the logical variable "done" was replaced with 1._q in the f90-file due to the preprocessor. However, it was solved if I changed done to another name, so I guess it was just some issue with the preprocessor.
Best regards,
/Dan
I'm trying to compile VASP with bdrpro.F added, but I have encountered a problem:
During the linking I end up with an error message:
bdrpro.o: In function `mbdrpro_mp_bdrpro_':
bdrpro.f90:(.text+0x142f): undefined reference to `setwav__'
I searched for the "CALL SETWAV" in all *.F files and I found that only in bdrpro.F "CALL SETWAV_()" is used while in the other *.F-files "CALL SETWAV()" is used. So I removed the underscore in bdrpro.F, but I then end up with another error
./preprocess <bdrpro.F | /usr/bin/cpp -P -C -traditional >bdrpro.f90 -DMPI -DHOST=\"Beda_BaderDOS\" -DIFC -Dkind8 -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf -DMPI_BLOCK=8000
mpif90 -FR -lowercase -assume byterecl -O1 -heap-arrays -c bdrpro.f90
bdrpro.f90(237): error #6633: The type of the actual argument differs from the type of the dummy argument. [NB]
CALL SETWAV(W,W1,NB,NK,ISP)
-----------------------^
which I don't know how to handle. Is there way around this issue? I have used intel 11.1.046 and openmpi1.4 for the compilation.
As a side note I had some issues with the subroutine dpbc_car in bdrpro.F, where the logical variable "done" was replaced with 1._q in the f90-file due to the preprocessor. However, it was solved if I changed done to another name, so I guess it was just some issue with the preprocessor.
Best regards,
/Dan