Error locating the fft subroutines

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


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
michail_stamatakis1
Newbie
Newbie
Posts: 1
Joined: Tue Feb 25, 2020 8:41 am

Error locating the fft subroutines

#1 Post by michail_stamatakis1 » Wed May 18, 2022 5:28 pm

Dear Developers.

I tried to install vasp 5.4.4 in an AMD cluster. I get an error related with the fft libraries. I am using the open-source fftw3 libraries. I am using as well pre-installed versions of BLAS, Lapack, ans ScaLapack.

I attach the makefile.include file, and the complete output of the compilation. Because of too many characters, I can not attach the complete output, I show only the errors.

Thank you.

makefile.include
----------------------------------------------------------------------------------------------
# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxGNU\" \
-DMPI -DMPI_BLOCK=8000 \
-Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=4000 \
-Davoidalloc \
-Duse_bse_te \
-Dtbdyn \
-Duse_shmem

CPP = /opt/gridware/depots/54e7fb3c/el7/pkg/compilers/gcc/9.3.0/bin/gcc -E -P -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)

FC = /opt/gridware/depots/54e7fb3c/el7/pkg/mpi/openmpi/4.0.4/gcc-9.3.0+ucx-1.8.0/bin/mpif90
FCL = /opt/gridware/depots/54e7fb3c/el7/pkg/mpi/openmpi/4.0.4/gcc-9.3.0+ucx-1.8.0/bin/mpif90

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

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

LIBDIR = /opt/gridware/depots/54e7fb3c/el7/pkg/compilers/gcc/9.3.0/lib64
BLAS = /opt/gridware/depots/54e7fb3c/el7/pkg/libs/blas/3.8.0/gcc-9.3.0/libblas.a
LAPACK = /opt/gridware/depots/54e7fb3c/el7/pkg/libs/lapack/3.9.0/gcc-9.3.0/lib64/liblapack.a
BLACS =
SCALAPACK = /opt/gridware/depots/54e7fb3c/el7/pkg/libs/scalapack_atlasshared/2.2.0/gcc-9.3.0+openmpi-4.0.4+atlas-3.10.3/lib/libscalapack.so

LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS)

FFTW ?= /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4
FFTWF ?= /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4
LLIBS += /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3.a /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3_mpi.a /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3f.a /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3f_mpi.a
INCS = -I/opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4/include -I/opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4/include

OBJECTS = /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3.so /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3_mpi.so /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3f.so /opt/gridware/depots/54e7fb3c/el7/pkg/libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4/lib/libfftw3f_mpi.so

OBJECTS_O1 +=
OBJECTS_O2 +=

# 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 getshmem.o

# For the parser library
CXX_PARS = g++

LIBS += parser
LLIBS += -Lparser -lparser -lstdc++

# Normally no need to change this
SRCDIR = /users/3052157/vasp/vasp.5.4.4.pl2/src
BINDIR = /opt/apps/vasp/5.4.4/gcc-9.3.0+openmpi-4.0.4+blas-3.8.0+lapack-3.9.0+scalapack-2.2.0+fftw3-3.3.10/bin

#================================================
# GPU Stuff
#
#CPP_GPU = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DCUFFT_MIN=28 -UscaLAPACK # -DUSE_PINNED_MEMORY
#
#OBJECTS_GPU= fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o

CC = /opt/gridware/depots/54e7fb3c/el7/pkg/compilers/gcc/9.3.0/bin/gcc
CXX = /opt/gridware/depots/54e7fb3c/el7/pkg/compilers/gcc/9.3.0/bin/g++
CFLAGS = -fPIC -DADD_ -openmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS

#CUDA_ROOT ?= /opt/gridware/depots/54e7fb3c/el7/pkg/libs/nvidia-cuda/11.0.3
#NVCC := $(CUDA_ROOT)/bin/nvvm
#CUDA_LIB := -L$(CUDA_ROOT)/bin/lib64 -llibnvToolsExt -llibcudart -llibcufft -llibcublas

GENCODE_ARCH := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \
-gencode=arch=compute_35,code=\"sm_35,compute_35\" \
-gencode=arch=compute_60,code=\"sm_60,compute_60\"

MPI_INC = /opt/gridware/depots/54e7fb3c/el7/pkg/mpi/openmpi/4.0.4/gcc-9.3.0+ucx-1.8.0/include
----------------------------------------------------------------------------------------------

Compilation output
----------------------------------------------------------------------------------------------
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module load compilers/gcc/9.3.0
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module load mpi/openmpi/4.0.4/gcc-9.3.0+ucx-1.8.0
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module load libs/blas/3.8.0/gcc-9.3.0
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module load libs/lapack/3.9.0/gcc-9.3.0
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module load libs/scalapack_atlasshared/2.2.0/gcc-9.3.0+openmpi-4.0.4+atlas-3.10.3
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module load libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module load libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ module list
Currently Loaded Modulefiles:
1) services/s3cmd
2) null
3) compilers/gcc/9.3.0
4) libs/gcc/9.3.0
5) mpi/openmpi/4.0.4/gcc-9.3.0+ucx-1.8.0
6) libs/blas/3.8.0/gcc-9.3.0
7) libs/lapack/3.9.0/gcc-9.3.0
8) libs/atlas/3.10.3/gcc-4.8.5
9) libs/scalapack_atlasshared/2.2.0/gcc-9.3.0+openmpi-4.0.4+atlas-3.10.3
10) libs/fftw3_double/3.3.10/gcc-9.3.0+openmpi-4.0.4
11) libs/fftw3_float/3.3.10/gcc-9.3.0+openmpi-4.0.4

[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ make all
< lots of outputs ... >
gw_model.o:gw_model.f90:(.text+0x15dc): more undefined references to fft3dmπfollowsteep.o:Infunction__steep_MOD_edstep':
steep.f90:(.text+0x708): undefined reference to fftwavmπsteep.f90:(.0x1ed0):undefedreferencefftwav_mpi_'
steep.f90:(.text+0x1f80): undefined reference to fftwavmπdavidr.o:Infunction__david_inner_MOD_eddav_inner':
david_inner.f90:(.text+0x7a8e): undefined reference to ffmπrot.o:Infunction__rot_MOD_edwav':
rot.f90:(.text+0x697b): undefined reference to fftwavmπrot.f90:(.0x794f):undefedreferencefftwav_mpi_'
rot.f90:(.text+0x7e73): undefined reference to ffmπstm.o:Infunctionfft_one_':
stm.f90:(.text+0x45): undefined reference to cfftmlstm.o:Infunctionwrt_stm_file_':
stm.f90:(.text+0x1c4): undefined reference to fftchkfurthstm.f90:(.0x49e):undefedreferencecfttab_'
elpol.o: In function _elpolMODsetsvberry:elpol.f90:(.0x2a78):undefedreferencefftwav_mpi_'
elpol.o: In function _elpolMODmnmat:elpol.f90:(.0x3f9f):undefedreferencefftwav_mpi_'
elpol.f90:(.text+0x4086): undefined reference to ffmπhamillr.o:Infunction__hamil_lr_MOD_hamiltmu_lr':
hamil_lr.f90:(.text+0x1acf): undefined reference to ffmπhamillr.f90:(.0x2346):undefedreferencefftext_mpi_'
hamil_lr.o: In function _hamillrMODlrhamil:hamillr.f90:(.0x34f8):undefedreferencefftwav_mpi_'
lr_helper.o: In function trpotchar:lrhelper.f90:(.0x8bf4):undefedreferencefft3d_mpi_'
lr_helper.o: In function potxc2:lrhelper.f90:(.0x8d66):undefedreferencefft3d_mpi_'
lr_helper.f90:(.text+0x8ddc): undefined reference to fft3dmπhamillrf.o:Infunction__hamil_lrf_MOD_hamiltmu_lrf':
hamil_lrf.f90:(.text+0x11e3): undefined reference to ffmπhamillrf.f90:(.0x1482):undefedreferencefftext_mpi_'
hamil_lrf.o: In function _hamillrfMODlrfhamil:hamillrf.f90:(.0x11):undefedreferencefftwav_mpi_'
hamil_lrf.o: In function _hamillrfMODhami<μcomμtar:hamillrf.f90:(.0x47b4):undefedreferencefftext_mpi_'
hamil_lrf.o: In function _hamillrfMODlrfcomμtar:hamillrf.f90:(.0x5da8):undefedreferencefftwav_mpi_'
wannier.o: In function _waierMODsetsvwaier:waier.f90:(.0x52e0):undefedreferencefftwav_mpi_'
wannier.o: In function _waierMODwamat:waier.f90:(.0xde4e):undefedreferencefftwav_mpi_'
wannier.f90:(.text+0xdf41): undefined reference to ffmπtwoectron4o:Infunction__twoelectron4o_MOD_twoelectron4o_acc':
twoelectron4o.f90:(.text+0x2bb5): undefined reference to fft3dmπtwoectron4f90:(.0x2ced):undefedreferencefft3d_mpi_'
twoelectron4o.f90:(.text+0x3798): undefined reference to ffmπmlwf.o:Infunction__mlwf_MOD_mlwf_dpsi_dk':
mlwf.f90:(.text+0x95cf): undefined reference to ffmπwavecacher.o:Infunction__wave_cacher_MOD_store_gw_acc_final':
wave_cacher.f90:(.text+0x8a19): undefined reference to ffmπwavecacher.f90:(.0x8d53):undefedreferencefftext_mpi_'
wave_cacher.o: In function _wavecacherMODsregwa:wavecacher.f90:(.0x9e8b):undefedreferencefftwav_mpi_'
wave_cacher.f90:(.text+0xa3e1): undefined reference to fftwavmπχbase.o:Infunction__chi_base_MOD_oep_charge':
chi_base.f90:(.text+0x14b39): undefined reference to ffmπχbase.o:Infunction__chi_base_MOD_oep_gw':
chi_base.f90:(.text+0x16780): undefined reference to fftwavmπχbase.f90:(.0x16a67):undefedreferencefft3d_mpi_'
chi_base.f90:(.text+0x16b8b): undefined reference to ffmπχbase.f90:(.0x17341):undefedreferencefftwav_mpi_'
chi_base.f90:(.text+0x1764a): undefined reference to fft3dmπχbase.f90:(.0x1775b):undefedreferencefftext_mpi_'
chi_base.o: In function _χ_baseMODaddξ_spectral:χbase.f90:(.0x1c186):undefedreferencefftext_mpi_'
chi_base.o: In function _χ_baseMODaddξ:χbase.f90:(.0x2089d):undefedreferencefftext_mpi_'
chi_base.o: In function _χ_baseMODscreedtwoectroncached:χbase.f90:(.0x234a8):undefedreferencefftext_mpi_'
chi_base.o: In function _χ_baseMODscreedtwoectronegral:χbase.f90:(.0x25801):undefedreferencefftext_mpi_'
local_field.o: In function _localfieldMODtwoectron4oa_hartreelip:localfield.f90:(.0x10a6):undefedreferencefft3d_mpi_'
local_field.f90:(.text+0x10e9): undefined reference to fft3dmπlocalfield.f90:(.0x1170):undefedreferencefftext_mpi_'
local_field.f90:(.text+0x1b05): undefined reference to ffmπlocalfield.o:Infunction__local_field_MOD_oneelectron_trans':
local_field.f90:(.text+0x2d74): undefined reference to fft3dmπlocalfield.o:Infunction__local_field_MOD_twoelectron4o_acc_hartree':
local_field.f90:(.text+0x4ae6): undefined reference to fft3dmπlocalfield.f90:(.0x4b29):undefedreferencefft3d_mpi_'
local_field.f90:(.text+0x4bb0): undefined reference to ffmπlocalfield.f90:(.0x5551):undefedreferencefftext_mpi_'
local_field.o: In function _localfieldMODtwoectron4oa_ex2:localfield.f90:(.0x6e42):undefedreferencefftext_mpi_'
local_field.f90:(.text+0x7b05): undefined reference to ffmπlocalfield.o:Infunction__local_field_MOD_twoelectron4o_acc_ex2_inter':
local_field.f90:(.text+0x9a37): undefined reference to ffmπlocalfield.o:localfield.f90:(.0xa6d6):moreundefedreferencesfftext_mpi_' follow
local_field.o: In function _localfieldMODextractlocalfieldeffects:localfield.f90:(.0x19b6e):undefedreferencefft3d_mpi_'
local_field.o: In function _localfieldMODcalca̲telocalfielddft:localfield.f90:(.0x1a7c0):undefedreferencefft3d_mpi_'
local_field.f90:(.text+0x1a8b0): undefined reference to fft3dmπump2.o:Infunction__mp2_MOD_calc_2orbital_ftod':
ump2.f90:(.text+0x3666): undefined reference to ffmπump2.f90:(.0x4200):undefedreferencefftext_mpi_'
ump2kpar.o: In function _mp2kparMODtwoectron4oa_mp2:ump2kpar.f90:(.0x101f):undefedreferencefftext_mpi_'
ump2kpar.f90:(.text+0x1974): undefined reference to ffmπfcidump.o:Infunction__fcidump_MOD_invert_kpoint':
fcidump.f90:(.text+0x7f8): undefined reference to ffmπfcidump.o:fcidump.f90:(.0xa790):moreundefedreferencesfftext_mpi_' follow
acfdt.o: In function _acfdtMODtalcharfock:acfdt.f90:(.0xcb2):undefedreferencefft3d_mpi_'
acfdt.f90:(.text+0x13c4): undefined reference to fft3dmπacfdt.o:Infunction__acfdt_MOD_fock_acfdt':
acfdt.f90:(.text+0x2999): undefined reference to fft3dmπrmm-diismlr.o:Infunction__rmm_diis_mlr_MOD_linear_response_diis':
rmm-diis_mlr.f90:(.text+0x5f55): undefined reference to ffmπlearresponseNMR.o:Infunction__mlr_main_nmr_MOD_ps_biot_savart_dr':
linear_response_NMR.f90:(.text+0xbb8): undefined reference to fft3dmπlearresponseNMR.o:Infunction__mlr_main_nmr_MOD_mlr_proj_in_empty_subspace_blas_':
linear_response_NMR.f90:(.text+0x888e): undefined reference to ffmπlearresponseNMR.o:Infunction__mlr_main_nmr_MOD_mlr_proj_in_empty_subspace_blas':
linear_response_NMR.f90:(.text+0xa64e): undefined reference to ffmπlearresponseNMR.o:Infunction__mlr_main_nmr_MOD_mlr_proj_in_empty_subspace':
linear_response_NMR.f90:(.text+0xc3a1): undefined reference to ffmπlearresponseNMR.o:Infunction__mlr_main_nmr_MOD_mlr_commutator_rq':
linear_response_NMR.f90:(.text+0xd902): undefined reference to fftwavmπlearresponseNMR.f90:(.0xdb48):undefedreferencefftext_mpi_'
linear_response_NMR.f90:(.text+0xe1a8): undefined reference to fftwavmπlearresponseNMR.f90:(.0xe950):undefedreferencefftext_mpi_'
linear_response_NMR.o: In function _mlrmanmrMODmlrcomμtar:learresponseNMR.f90:(.0xfdc0):undefedreferencefftext_mpi_'
linear_response_NMR.f90:(.text+0xfe92): undefined reference to fftwavmπlearresponseNMR.f90:(.0x10dda):undefedreferencefftwav_mpi_'
linear_response_NMR.f90:(.text+0x10ff0): undefined reference to ffmπlearresponseNMR.o:Infunction__mlr_main_nmr_MOD_mlr_lq_psi':
linear_response_NMR.f90:(.text+0x11d30): undefined reference to fftwavmπlearresponseNMR.f90:(.0x12321):undefedreferencefftext_mpi_'
linear_response_NMR.o: In function pscurrentparatwokpt:learresponseNMR.f90:(.0x190c5):undefedreferencefftwav_mpi_'
linear_response_NMR.f90:(.text+0x19299): undefined reference to fftwavmπlearresponseNMR.f90:(.0x19481):undefedreferencefftwav_mpi_'
linear_response_NMR.f90:(.text+0x19669): undefined reference to fftwavmπlearresponseNMR.f90:(.0x19841):undefedreferencefftwav_mpi_'
linear_response_NMR.o:linear_response_NMR.f90:(.text+0x19a29): more undefined references to fftwavmπfollowaur.o:Infunction__auger_MOD_auger_2e4o':
auger.f90:(.text+0x1f8a): undefined reference to ffmπaur.f90:(.0x2c6f):undefedreferencefftext_mpi_'
auger.o: In function _aurMODcalca̲teaur:aur.f90:(.0x5a4a):undefedreferencefftini_mpi_'
dmatrix.o: In function _dmatrixMODdmatrixcalca̲tejij:dmatrix.f90:(.0x893f):undefedreferencefft3d_mpi_'
dmatrix.f90:(.text+0x8e6d): undefined reference to fft3dmπdmatrix.o:Infunction__dmatrix_MOD_dmatrix_calculate_kij':
dmatrix.f90:(.text+0xa5cb): undefined reference to fft3dmπma.o:Infunctionperformance_test.4522':
main.f90:(.text+0x1010): undefined reference to fftwavmπma.f90:(.0x1133):undefedreferencefft3d_mpi_'
main.f90:(.text+0x11d2): undefined reference to fft3dmπma.f90:(.0x11f0):undefedreferencefft3d_mpi_'
main.f90:(.text+0x12d6): undefined reference to ffmπma.f90:(.0x13fa):undefedreferencefftwav_mpi_'
main.o: In function MAIN_:ma.f90:(.0x9115):undefedreferencefftchk_mpi_'
main.f90:(.text+0x9418): undefined reference to fftchkmπma.f90:(.0xac25):undefedreferencefftchk_mpi_'
main.f90:(.text+0x12cb6): undefined reference to fftimπma.f90:(.0x12b):undefedreferencemapset_'
main.f90:(.text+0x12dc3): undefined reference to mapsetma.f90:(.0x12dd8):undefedreferencemapset_'
main.f90:(.text+0x12e63): undefined reference to mapsetma.f90:(.0x15802):undefedreferencefftmakeplan_mpi_'
collect2: error: ld returned 1 exit status
make[2]: *** [vasp] Error 1
make[2]: Leaving directory /users3052157/vaspvasp.5.4.4.pl2buildstdcp:caotstatvasp:Nosuchfiordirecrymake[1]:[all]Error1make[1]:Leavgdirecry/users/3052157/vasp/vasp.5.4.4.pl2/build/std'
make: *** [std] Error 2
[3052157@node117 [kelvin2] vasp.5.4.4.pl2]$ exit
exit
srun: error: node117: task 0: Exited with exit code 2

henrique_miranda
Global Moderator
Global Moderator
Posts: 509
Joined: Mon Nov 04, 2019 12:41 pm
Contact:

Re: Error locating the fft subroutines

#2 Post by henrique_miranda » Wed Jul 27, 2022 3:39 pm

I think this question has been answered before in this forum. See for example here:
forum/viewtopic.php?f=2&t=6053&p=6055

This is also mentioned on our wiki page here:
wiki/index.php/Installing_VASP.5.X.X#Fa ... Transforms

Let me know if this solves the issue!

Post Reply