Error installing vasp.6.4.1 with gcc

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.

Moderators: Global Moderator, Moderator

Post Reply
Posts: 6
Joined: Tue May 16, 2023 11:14 am

Error installing vasp.6.4.1 with gcc

#1 Post by amihai_silverman1 » Thu May 18, 2023 11:00 am

Error while installing vasp.6.4.1 on CENTOS7 cluster using gcc also fails.
Help is required.
Thanks, Amihai

/usr/local/intel_oneapi2022/mkl/2022.0.2/lib/intel64/ undefined reference to `ompi_mpi_dblprec'
/usr/local/intel_oneapi2022/mkl/2022.0.2/lib/intel64/ undefined reference to `ompi_mpi_op_sum'
/usr/local/intel_oneapi2022/mkl/2022.0.2/lib/intel64/ undefined reference to `ompi_mpi_real'
collect2: error: ld returned 1 exit status
make[2]: *** [vasp] Error 1
make[2]: Leaving directory `/home/amihai/src/vasp.6.4.1.gcc/build/std'
cp: cannot stat ‘vasp’: No such file or directory
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/amihai/src/vasp.6.4.1.gcc/build/std'
make: *** [std] Error 2

$ which gcc
$ which mpif90
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

$ cat makefile.include
# Default precompiler options
-DMPI -DMPI_BLOCK=8000 -Duse_collective \
-Davoidalloc \
-Dvasp6 \
-Duse_bse_te \
-Dtbdyn \
-Dfock_dblbuf \

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

FC = mpif90 -fopenmp
FCL = mpif90 -fopenmp

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

FFLAGS = -w -ffpe-summary=none


OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o

# For what used to be vasp.5.lib
FC_LIB = $(FC)
CC_LIB = gcc

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

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

# Intel MKL for FFTW, BLAS, LAPACK, and scaLAPACK
MKLROOT ?= /usr/local/intel_oneapi2022/mkl/2022.0.2
LLIBS_MKL = -L$(MKLROOT)/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 -lgomp -lpthread -lm -ldl
INCS = -I$(MKLROOT)/include/fftw

# Use a separate scaLAPACK installation (optional but recommended in combination with OpenMPI)
# Comment out the two lines below if you want to use scaLAPACK from MKL instead
#SCALAPACK_ROOT ?= /usr/lib64/openmpi3
#LLIBS_MKL = -L$(SCALAPACK_ROOT)/lib -lscalapack -L$(MKLROOT)/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl


# HDF5-support (optional but strongly recommended)
#HDF5_ROOT ?= /usr/lib64/openmpi
#LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran
#INCS += -I$(HDF5_ROOT)/include

# For the VASP-2-Wannier90 interface (optional)
#WANNIER90_ROOT ?= /path/to/your/wannier90/installation
#LLIBS += -L$(WANNIER90_ROOT)/lib -lwannier

# For the fftlib library (hardly any benefit in combination with MKL's FFTs)
#FCL += fftlib.o
#INCS_FFTLIB = -I./include -I$(MKLROOT)/include/fftw
#LIBS += fftlib
#LLIBS += -ldl

Global Moderator
Global Moderator
Posts: 169
Joined: Mon Apr 26, 2021 7:40 am

Re: Error installing vasp.6.4.1 with gcc

#2 Post by andreas.singraber » Fri May 19, 2023 3:08 pm


Can you please elaborate how this post is related to your previous one here?

This time it seems you based your setup on makefile.include.gnu_ompi_mkl_omp which is a build with GNU compiler, OpenMPI and Intel MKL. Was this your intention (a pure GNU build would be based on makefile.include.gnu_omp)? However, in your post you mention
$ which mpif90
So you are not using the GNU compiler here but actually the Intel one. As in the other post could you please post the outputs of

Code: Select all

mpif90 --version
mpif90 -show
Please note that our template makefile.include files rely on the correct mpif90 alias command. This is usually the case for the simpler Intel-only (FC=mpiifort) or GNU-only (FC=mpif90) builds. However, for the "mixed" builds like the ones you are using we must assume that the correct compiler is behind the mpif90 command. Whether this is actually the case is very system-dependent and not in our control.

Andreas Singraber

Posts: 6
Joined: Tue May 16, 2023 11:14 am

Re: Error installing vasp.6.4.1 with gcc

#3 Post by amihai_silverman1 » Sun May 21, 2023 6:22 am

Hi, you may ignore this post. I tried the compilation with gcc since previously the compilation with the Intel compilers failed to complete.
Thanks, Amihai

Post Reply