Page 1 of 1

Compilation Errors in VASP: "Missing format label"

Posted: Wed Oct 23, 2024 2:04 pm
by stephane_buttigieg

Hello everyone,

I am currently attempting to compile the VASP software on my system, and I am running into several errors during the process. The command I am using for compilation is:

mpif90 -fopenmp -ffree-form -ffree-line-length-none -w -ffpe-summary=none -march=native -fallow-argument-mismatch -O2 -I/usr/include -I/usr/include -c ml_asa2.f90

However, I receive multiple error messages related to missing format labels in the Fortran source files. Here are some of the errors I am encountering:

ml_ff_tutor.F:201:15:
201 | formattedMessage = formatter%formatMessage(headerBug // whereInCode // message // footerBug)
| 1
Error: Missing format label at (1)
This error occurs for several lines across different files, including:
tutor.F:281:15
ml_ff_tutor.F:201:15
ml_ff_tutor.F:230:15
tutor.F:310:15

The compilation fails due to "Missing format label" errors in the Fortran files.
These errors seem to stem from the use of the formatter%formatMessage function, where the expected format labels are not being provided.

What does the "Missing format label" error mean, and how can I resolve it?
Are there specific formatting conventions I should follow for using the formatter%formatMessage function?
Are there any dependencies or prerequisites that I might be missing that could lead to these errors?
I would appreciate any insights or solutions to help me overcome these compilation issues.

Thank you for your assistance!


Re: Compilation Errors in VASP: "Missing format label"

Posted: Wed Oct 23, 2024 2:52 pm
by jonathan_lahnsteiner2

Dear Stephane Buttigieg,

When compiling vasp please follow the instructions on the vasp wiki
Installing VASP.6.X.X.
You should copy a makefile.include from the arch directory. The makefile.include should correspond to the tool chain which you are planning to use.

If you need further advice please let me know which tool chain (compiler, what mpi and which math libraries) you are going to use and what makefile.include you took.

All the best Jonathan


Re: Compilation Errors in VASP: "Missing format label"

Posted: Wed Nov 06, 2024 10:03 am
by stephane_buttigieg

Hi Jonathan,
My makefile

# 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 \
-D_OPENMP

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

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

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
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/lib/x86_64-linux-gnu/openblas
# scaLAPACK (mandatory)
SCALAPACK_ROOT ?= /usr/lib/x86_64-linux-gnu/scalapack
SCALAPACK = -L$(SCALAPACK_ROOT)/lib -lscalapack

LLIBS += $(SCALAPACK) $(BLASPACK)

# FFTW (mandatory)
FFTW_ROOT ?= /usr
LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 -lfftw3_omp
INCS += -I$(FFTW_ROOT)/include

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

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

# For the fftlib library (recommended)
CPP_OPTIONS+= -Dsysv
FCL += fftlib.o
CXX_FFTLIB = g++ -fopenmp -std=c++11 -DFFTLIB_THREADSAFE
INCS_FFTLIB = -I./include -I$(FFTW_ROOT)/include
LIBS += fftlib
LLIBS += -ldl