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