undefined reference to `dsyev_'

undefined reference to `dsyev_'

I'm trying to link mkl version 7.2 with a program using standart LAPACK dsyev, zheev subroutines. Note with generic vendor lapack/blas libraries it works well. Nevertheless using mkl with following linking options:

-L/opt/intel/mkl701/lib/32 -lmkl_lapack32 -lmkl_def -lguide -lpthread -lg2c -O3 -r8 -tpp7

I obtain following errors:

soldm.o(.text+0x787): In function `soldm_':
: undefined reference to `dsyev_'
kspace2.o(.text+0x1943): In function `kspace_':
: undefined reference to `zheev_'
kspace2.o(.text+0x24a7): In function `kspace_':
: undefined reference to `zheev_'
anderson2.o(.text+0x161c): In function `anderson_':
: undefined reference to `dsysv_'
make: *** [fireball.x] Error 1

there are other blas/lapack subroutines used by the program, which are not reported. according to MKL reference manual the subroutines zheev, dsysv and dsyev should be provided by mkl 7.2 version.

I have
OS: SuSe 9.2
kernel: 2.6.8-24.14-default
compiler: Intel Fortran Compiler for 32-bit applications, Version 8.1
Build 20041019Z Package ID: l_fc_pu_8.1.021
mkl: l_mkl_p_7.2.008

any suggestion/hints are welcome

best regards jel

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

You are trying to link in the 64-bit dsyev but are linking in the 32-bit LAPACK shared object. Try linking in mkl_lapack64.
Alternatively, assuming you have set the path elsewhere, link like this:

ifort -lmkl_lapack -lmkl_ia32 -lguide -lpthread


Leave a Comment

Please sign in to add a comment. Not a member? Join today