编译 Vasp 时未定义对"fftwav_mu_"、"fftext_mu_"的引用



我试图在我的ubuntu 19.10 VirtualBox上编译vasp 6.2.1。我有英特尔openApi(其中有ifortran编译器)和fftw3安装。我正试图使用ifort编译串行版本。但是它给了我如下的错误:

if [ ! -d build ] ; then mkdir build  ; fi
if [ ! -d build/std ] ; then mkdir build/std  ; fi
cp src/makefile src/.objects src/makedeps.awk makefile.include build/std 
make -C build/std VERSION=std cleandependencies -j1
make[1]: Entering directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std'
rm -f .depend
make[1]: Leaving directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std'
make -C build/std VERSION=std all
make[1]: Entering directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std'
rsync -ru ../../src/lib .
cp makefile.include lib
make -C lib -j1
make[2]: Entering directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/lib'
make libdmy.a
make[3]: Entering directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/lib'
make[3]: 'libdmy.a' is up to date.
make[3]: Leaving directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/lib'
make[2]: Leaving directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/lib'
rsync -ru ../../src/parser .
cp makefile.include parser
make -C parser -j1
make[2]: Entering directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/parser'
make libparser.a
make[3]: Entering directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/parser'
make[3]: 'libparser.a' is up to date.
make[3]: Leaving directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/parser'
make[2]: Leaving directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std/parser'
rsync -u ../../src/*.F ../../src/*.inc .
rm -f vasp ; make vasp ; cp vasp ../../bin/vasp_std
make[2]: Entering directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std'
mpiifort -qmkl=cluster -lstdc++ -o vasp c2f_interface.o nccl2for.o simd.o base.o profiling.o string.o tutor.o version.o vhdf5_base.o incar_reader.o reader_base.o openmp.o openacc_struct.o mpi.o mpi_shmem.o mathtools.o hamil_struct.o radial_struct.o pseudo_struct.o mgrid_struct.o wave_struct.o nl_struct.o mkpoints_struct.o poscar_struct.o afqmc_struct.o phonon_struct.o fock_glb.o chi_glb.o smart_allocate.o xml.o extpot_glb.o constant.o vdwforcefield_glb.o jacobi.o main_mpi.o openacc.o scala.o asa.o lattice.o poscar.o ini.o mgrid.o setex_struct.o xclib.o vdw_nl.o xclib_grad.o setex.o radial.o pseudo.o gridq.o ebs.o symlib.o mkpoints.o random.o wave.o wave_mpi.o wave_high.o bext.o spinsym.o symmetry.o lattlib.o nonl.o nonlr.o nonl_high.o dfast.o choleski2.o mix.o hamil.o xcgrad.o xcspin.o potex1.o potex2.o constrmag.o cl_shift.o relativistic.o LDApU.o paw_base.o metagga.o egrad.o pawsym.o pawfock.o pawlhf.o diis.o rhfatm.o hyperfine.o fock_ace.o paw.o mkpoints_full.o charge.o Lebedev-Laikov.o stockholder.o dipol.o solvation.o scpc.o pot.o tet.o dos.o elf.o hamil_rot.o chain.o dyna.o fileio.o vhdf5.o sphpro.o us.o core_rel.o aedens.o wavpre.o wavpre_noio.o broyden.o dynbr.o reader.o writer.o xml_writer.o brent.o stufak.o opergrid.o stepver.o chgloc.o fast_aug.o fock_multipole.o fock.o fock_dbl.o fock_frc.o mkpoints_change.o subrot_cluster.o sym_grad.o mymath.o npt_dynamics.o subdftd3.o subdftd4.o internals.o dynconstr.o dimer_heyden.o dvvtrajectory.o vdwforcefield.o nmr.o pead.o k-proj.o subrot.o subrot_scf.o paircorrection.o rpa_force.o ml_interface.o force.o pwlhf.o gw_model.o optreal.o steep.o rmm-diis.o davidson.o david_inner.o root_find.o lcao_bare.o locproj.o electron_common.o electron.o rot.o electron_all.o shm.o pardens.o optics.o constr_cell_relax.o stm.o finite_diff.o elpol.o hamil_lr.o rmm-diis_lr.o subrot_lr.o lr_helper.o hamil_lrf.o elinear_response.o ilinear_response.o linear_optics.o setlocalpp.o wannier.o electron_OEP.o electron_lhf.o twoelectron4o.o gauss_quad.o m_unirnk.o minimax_ini.o minimax_dependence.o minimax_functions1D.o minimax_functions2D.o minimax_struct.o minimax_varpro.o minimax.o mlwf.o ratpol.o pade_fit.o screened_2e.o wave_cacher.o crpa.o chi_base.o wpot.o local_field.o ump2.o ump2kpar.o fcidump.o ump2no.o bse_te.o bse.o time_propagation.o acfdt.o afqmc.o rpax.o chi.o acfdt_GG.o dmft.o GG_base.o greens_orbital.o lt_mp2.o rnd_orb_mp2.o greens_real_space.o chi_GG.o chi_super.o sydmat.o rmm-diis_mlr.o linear_response_NMR.o wannier_interpol.o wave_interpolate.o linear_response.o auger.o dmatrix.o phonon.o wannier_mats.o elphon.o core_con_mat.o embed.o extpot.o fft3dfurth.o fft3dlib.o main.o  -Llib -ldmy -Lparser -lparser -Lparser -lparser -lstdc++ 
ipo: warning #11021: unresolved fftext_mu_
Referenced in /tmp/ipo_ifortQlEAwA.o
ipo: warning #11021: unresolved fftext_useinv_mu_
Referenced in /tmp/ipo_ifortQlEAwA.o
ipo: warning #11021: unresolved fftwav_mu_
Referenced in /tmp/ipo_ifortQlEAwA.o
ipo: warning #11021: unresolved fftwav_useinv_mu_
Referenced in /tmp/ipo_ifortQlEAwA.o
ld: /tmp/ipo_ifortQlEAwA2.o: in function `wave_high_mp_fftext_wa_':
ipo_out2.f:(.text.hot00012+0x2d442): undefined reference to `fftext_useinv_mu_'
ld: ipo_out2.f:(.text.hot00012+0x2d597): undefined reference to `fftext_mu_'
ld: /tmp/ipo_ifortQlEAwA2.o: in function `wave_high_mp_fftwav_wa_':
ipo_out2.f:(.text.hot00012+0x2d865): undefined reference to `fftwav_useinv_mu_'
ld: ipo_out2.f:(.text.hot00012+0x2d99f): undefined reference to `fftwav_mu_'
make[2]: *** [makefile:149: vasp] Error 1
make[2]: Leaving directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std'
cp: cannot stat 'vasp': No such file or directory
make[1]: *** [makefile:146: all] Error 1
make[1]: Leaving directory '/home/mdazharul/vasp/vasp6.2.1/vasp6.2.1/vasp6.2.1/vasp.6.2.1/build/std'
make: *** [makefile:17: std] Error 2

我还包括makefile.include.

>
# Precompiler options
CPP_OPTIONS= -DHOST="LinuxIFC"
-DCACHE_SIZE=16000 
-Davoidalloc 
-Duse_bse_te 
-Dtbdyn 
-Dfock_dblbuf
CPP        = fpp -f_com=no -free -w0  $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
FC         = mpiifort
FCL        = mpiifort -qmkl=cluster -lstdc++
FREE       = -free -names lowercase
FFLAGS     = -assume byterecl -w -xHOST
OFLAG      = -O2
OFLAG_IN   = $(OFLAG)
DEBUG      = -O0
MKL_PATH   = $(MKLROOT)/lib/intel64
BLAS       =
LAPACK     =
BLACS      =
SCALAPACK  =
OBJECTS    = fft3dfurth.o fft3dlib.o
INCS       =-I$(MKLROOT)/include/fftw
LLIBS      = $(SCALAPACK) $(LAPACK) $(BLAS)
OBJECTS_O1 += fft3dfurth.o 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     = icc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1
FREE_LIB   = $(FREE)
OBJECTS_LIB= linpack_double.o
# For the parser library
CXX_PARS   = icpc
LLIBS      += -Lparser -lparser -lstdc++
# Normally no need to change this
SRCDIR     = ../../src
BINDIR     = ../../bin

我似乎找不到问题所在。关于这件事,请帮助我。谢谢你。

似乎您还没有编译fftwxf3xf库。inteloneapi需要你手工编译。

cd /opt/intel/oneapi/mkl/latest/interfaces/fftw3xf
sudo make libintel64

然后重新编译VASP代码。它应该对你有用

您可以尝试使用pipifort而不是ifort编译器来编译您的应用程序。您正在获得' MPI_Comm_rank错误的未定义引用,因为您的应用程序没有与MPI库链接。mpiifort编译器使用intel ifort编译器和MPI包装器。

相关内容

  • 没有找到相关文章

最新更新