Page 1 of 1

compile error (undefined ref to mkl_dft_dzrecom) with ifort/mkl

Posted: Sun Jan 13, 2008 4:08 pm
by jcconesa
Dear admin, dear colleagues,
I'm trying to compile vasp in a multiprocessor Itanium machine running linux, using the intel compiler ifort (v 9.1.040) and mkl 9.0 libraries. I found first a number of undefined references and could solve most of them by introducing in the BLAS definition of the makefile references to all libraries present in the mkl directory, in this way:

BLAS=-L/opt/intel/mkl/9.0/lib/64/ -lmkl_i2p -lmkl_vml_i2p -lguide -lmkl_ipf -lmkl -lmkl_ias -lmkl_solver -lvml

(altjhough some of them may be unnecesary) but I still find, in the final linking, the following error:
/opt/intel/mkl/9.0/lib/64//libmkl_i2p.so: undefined reference to `mkl_dft_screcom'
/opt/intel/mkl/9.0/lib/64//libmkl_i2p.so: undefined reference to `mkl_dft_dzrecom'
/opt/intel/mkl/9.0/lib/64//libmkl_i2p.so: undefined reference to `mkl_dft_csrecom'
/opt/intel/mkl/9.0/lib/64//libmkl_i2p.so: undefined reference to `mkl_dft_zdrecom'
make: *** [vasp] Error 1

It would seem that some library is missing, but I cannot figure out which. On the other hand the problem would seem to be related to the discrete Fourier transform computation WITHIN mkl. I am compiling with Furthmueller's fft3d routines, not fftw (i.e. FFT3D = fft3dfurth.o fft3dlib.o). Does anyone know in which libraries exactly should these mkl_dft_??recom routines be present? I could find nowhere a reference to these ??recom terms.
Thanks in advance,

compile error (undefined ref to mkl_dft_dzrecom) with ifort/mkl

Posted: Mon Jan 28, 2008 8:25 am
by admin
there seems to be an inconsisteny in the installation of your libraries, beacuse the libmkl_i2p.so requests another mkl routine which is not included in the installed library package. If possible, please switch to a different set of BLAS library routines or ask your sys admin to check the installation of the mkl.
(all four routines should be included it libmkl_i2p.so itself, at least they are in the mkl80 release)