I am sure I am making a very simple and obvious mistake in using lapack95, but I cannot figure it out at present.
Compiling and linking with MKL of the following sample code:
program test_lapack use lapack95,only:ggev implicit none integer,parameter::x_=8 integer,parameter::n =2 complex(kind=x_)::a (0:n-1,0:n-1)=reshape((/11._x_,12._x_,21._x_,22._x_/),(/2,2/)) complex(kind=x_)::b (0:n-1,0:n-1)=reshape((/ 1._x_, 0._x_, 0._x_, 1._x_/),(/2,2/)) complex(kind=x_)::alpha(0:n-1) complex(kind=x_):: beta(0:n-1) call ggev(a,b,alpha,beta) end program test_lapack
with:
ifort -mkl=sequential test_lapack.F90
yields:
/tmp/ifortzuGiE1.o: In function `MAIN__': test_lapack.F90:(.text+0x185): undefined reference to `zggev_f95_'
which means the program does find lapack95's ggev interface, but the zggev_F95 is still unresolved. I have checked that both the lapack95.F90 and all lapack95 routine implementations are in place, at /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/include and /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/interfaces/lapack95/source respectively. So it appears I am just missing on how to link the lapack95 implementation with its interface, or whatnot.