Page 1 of 1

VASP 6.5.0

Posted: Mon Jan 06, 2025 6:27 pm
by ahsan_javed

The makefile.include for 6.4.3 is used for 6.5.0 and this error popsup, specifically for elphon which is a new feature in this. No this sort of error "mpi.mod" for 6.4.3 but for this particular verison?

mpif90 -ffree-form -ffree-line-length-none -w -ffpe-summary=none -march=native -O2 -I/usr/local/include -I/home/ahsan.javed/data/codes/libxc/include -c elphon_derivative.f90
elphon_derivative.F:566:13:

566 | use mpi, only: MPI_COMM_SELF
| 1
Fatal Error: Cannot read module file ‘mpi.mod’ opened at (1), because it was created by a different version of GNU Fortran
compilation terminated.
make[2]: *** [makefile:195: elphon_derivative.o] Error 1


Re: VASP 6.5.0

Posted: Wed Jan 08, 2025 7:56 am
by andreas.singraber

Hello!

Please always use the makefile.include template files from the arch directory of the corresponding version, in particular if problems during compilation occur. Also, in this case the error message of the compiler hints at an old mpi.mod, probably from a previous build of VASP. Could you please run make veryclean before trying to compile again? Please also attach your current makefile.include so we can check the difference to the 6.5.0 version. Thank you!

Best,
Andreas Singraber


Re: VASP 6.5.0

Posted: Mon Feb 24, 2025 1:09 pm
by ahsan_javed

Code: Select all

# Default precompiler options
CPP_OPTIONS = -DHOST=\"LinuxGNU\" \
              -DMPI -DMPI_BLOCK=8000 -Duse_collective \
              -DscaLAPACK \
              -DCACHE_SIZE=4000 \
              -Davoidalloc \
              -Dvasp6 \
              -Duse_bse_te \
              -Dtbdyn \
              -Dfock_dblbuf

CPP         = gcc -E -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)

FC          = mpif90
FCL         = mpif90

FREE        = -ffree-form -ffree-line-length-none

FFLAGS      = -w -ffpe-summary=none

OFLAG       = -O2
OFLAG_IN    = $(OFLAG)
DEBUG       = -O0

# For what used to be vasp.5.lib
CPP_LIB     = $(CPP)
FC_LIB      = $(FC)
CC_LIB      = gcc
CFLAGS_LIB  = -O
FFLAGS_LIB  = -O1
FREE_LIB    = $(FREE)

OBJECTS_LIB = linpack_double.o

# For the parser library
CXX_PARS    = g++
LLIBS       = -lstdc++

##
## Customize as of this point! Of course you may change the preceding
## part of this file as well if you like, but it should rarely be
## necessary ...
##

# When compiling on the target machine itself, change this to the
# relevant target when cross-compiling for another architecture
VASP_TARGET_CPU += -march=native
FFLAGS     += $(VASP_TARGET_CPU)

# For gcc-10 and higher (comment out for older versions)
#FFLAGS     += -fallow-argument-mismatch

# BLAS and LAPACK (mandatory)
OPENBLAS_ROOT += /usr/lib64/
BLASPACK    = -L$(OPENBLAS_ROOT) -lopenblas

# scaLAPACK (mandatory)
SCALAPACK_ROOT += /usr/local/scalapack-2.2.0
SCALAPACK   = -L$(SCALAPACK_ROOT) -lscalapack

LLIBS      += $(SCALAPACK) $(BLASPACK)

# FFTW (mandatory)
FFTW_ROOT  += /usr/local
LLIBS      += -L$(FFTW_ROOT)/lib -lfftw3

# HDF5-support (optional but strongly recommended, and mandatory for some features)
#CPP_OPTIONS+= -DVASP_HDF5
#HDF5_ROOT  ?= /path/to/your/hdf5/installation
#LLIBS      += -L$(HDF5_ROOT)/lib -lhdf5_fortran
#INCS       += -I$(HDF5_ROOT)/include

..
It has something to do with elphon_derivative


Re: VASP 6.5.0

Posted: Tue Feb 25, 2025 10:49 am
by andreas.singraber

Hello!

Sorry, but this makefile.include does not correspond to the error you showed in your first post (the include paths are different in the file). Please be consistent in your communication with us, otherwise it is impossible to give any useful advice. Did you actually perform a make veryclean before recompilation as I asked you too? Could you please redo the whole build process, log the output to a file and attach it here? For example, like this

Code: Select all

make veryclean
make DEPS=1 -j 2>&1 | tee build.log
cat makefile.include >> build.log

If the error persists please post also the output of:

Code: Select all

gcc --version
g++ --version
mpif90 --version
mpif90 --showme:version
mpif90 -show

Thank you!

Best regards,
Andreas Singraber


Re: VASP 6.5.0

Posted: Tue Mar 04, 2025 6:21 am
by ahsan_javed

Error persists and build.log is attached.

Other outputs are (in order):

gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)

g++ (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)

GNU Fortran (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)

mpif90: Open MPI 1.10.7 (Language: Fortran)

gfortran -I/usr/include/openmpi-x86_64 -pthread -m64 -I/usr/lib64/openmpi/lib -Wl,-rpath -Wl,/usr/lib64/openmpi/lib -Wl,--enable-new-dtags -L/usr/lib64/openmpi/lib -lmpi_usempi -lmpi_mpifh -lmpi


Re: VASP 6.5.0

Posted: Tue Mar 04, 2025 10:17 am
by andreas.singraber

Hello!

It seems the problem is your very outdated OpenMPI. Version 1.10.7 is from 2017 and the provided mpi.mod file was maybe created with an even older compiler (not your gcc 9.3.1) and hence you get this error message. I would strongly suggest to update your system!! Please really consider to switch to on of our validated toolchains!

If this is not possible and you feel brave you could try to change lines 566-567 in elphon_derivative.F from

Code: Select all

         use mpi, only: MPI_COMM_SELF
         use mpimy, only: M_initc

to

Code: Select all

         use mpimy, only: M_initc
         INCLUDE "mpif.h"

However, I cannot test if this will produce a working executable in your case, maybe other issues ensue... again, updating your system is the best option here!

Best,
Andreas Singraber