Hello again!
The NVIDIA compiler complains because it cannot find the
hdf5.mod file which is required to compile the VASP source file
vhdf5_base.F. The
hdf5.mod is part of the HDF5 library and it seems it is not in the place you provided in the corresponding
makefile.include section:
Code: Select all
# HDF5-support (optional but strongly recommended)
CPP_OPTIONS+= -DVASP_HDF5
HDF5_ROOT ?= /usr/local/hdf/HDF5-1.12.2-Linux/HDF_Group/HDF5/1.12.2
LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran
INCS += -I$(HDF5_ROOT)/include
Given these lines in your
makefile.include you asked the compiler to search in the path
/usr/local/hdf/HDF5-1.12.2-Linux/HDF_Group/HDF5/1.12.2/include for the
hdf5.mod file. Can you please manually search the
/usr/local/hdf/HDF5-1.12.2-Linux directory whether you can find it in some subdirectory there? Then put the correct path in the last line of the HDF5 block like this:
Code: Select all
INCS += -I/path/to/the/hdf5/include/directory
It is probably best to repeat the entire compilation process then, it should not stop any more searching for the
hdf5.mod file.
If you build process then completes without errors, you are fine. However, since the HDF5 mod file was not found with the given settings, there could be additional problems at the linking stage (at the very end of the build process). Then, the linker will search for the HDF5 library called
libhdf5_fortran.so (or alternatively
libhdf5_fortran.a). If you get an error at the very end saying something like "
Could not find file libhdf5_fortran.so" then you need to search also for the correct HDF5 library path where
libhdf5_fortran.so is located. As before, change also the library path in your
makefile.include:
Code: Select all
LLIBS += -L/path/to/the/hdf5/library/directory -lhdf5_fortran
The
HDF5_ROOT variable is then not used any more, you can comment it out.
All the best,
Andreas Singraber