I just bumped into this error message while attempting to run a newly-built code: "Entry Point Not Found - The procedure entry point mkl_serv_set_xerbla_interface" could not be located in the dynamic link library mkl_intel_thread.dll".
Any suggestions to fix this would be appreciated! The code is built with XE 2013 SP1 and the MKL libraries that come with it (Fortran/Libraries/Use Intel Math Kernel Library="Parallel (/Qmkl:parallel)". The runtime library is "Multithread DLL". It also USEs the LAPACK_95 and BLAS_95 modules (Linker/Input/Additional Dependencies = "mkl_blas95_lp64.lib mkl_lapack95_lp64.lib"), not sure if this is relevant. The platform is a Windows 7 64-bit workstation.
Thanks in advance for your help,
It seems a similar question was asked recently on the MKL forum (differing maybe in choice of lp64). After repeated urgings, checking found that it was indeed associated with mixing ia32 (32-bit) and Intel64 (64-bit mode). The Intel64 compiler and MKL both must be used consistently. In recent releases, if the MKL and compiler are installed from the same package, the correct MKL path setting is included in the ifort setup. In older releases, you had to set up the lapack95 stuff yourself.
Apparently, because the MKL object names differ between 32- and 64-bit releases, you get the error about not finding the matching object rather than one about the incorrect mode.
You make a good point about getting the lp64 stuff consistent. That's for 32-bit integer arguments to MKL calls in 64-bit compilation mode.