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_lapackwith:
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.