使用我自己编译的LAPACK时,对BLAS函数的未定义引用

时间:2017-02-15 17:11:46

标签: ubuntu fortran gfortran lapack blas

lapack编译输出

-->   LAPACK TESTING SUMMARY  <--
Processing LAPACK Testing output found in the TESTING directory
SUMMARY                 nb test run     numerical error     other error  
================    =========== =================   ================  
REAL                882293      0   (0.000%)    0   (0.000%)    
DOUBLE PRECISION    1279265     0   (0.000%)    0   (0.000%)    
COMPLEX             329049      0   (0.000%)    0   (0.000%)    
COMPLEX16           517308      6313    (1.220%)    4380    (0.847%)    

--> ALL PRECISIONS  3007915     6313    (0.210%)    4380    (0.146%)    

我的程序错误

In function `dgetrf_':
dgetrf.f:(.text+0x3cb): undefined reference to `dtrsm_'
dgetrf.f:(.text+0x4a2): undefined reference to `dgemm_'
/home/niyaa/jsz/liblapack.so(dgetrs.o): In function `dgetrs_':
dgetrs.f:(.text+0x14f): undefined reference to `dtrsm_'
dgetrs.f:(.text+0x1bc): undefined reference to `dtrsm_'
dgetrs.f:(.text+0x356): undefined reference to `dtrsm_'
dgetrs.f:(.text+0x3c3): undefined reference to `dtrsm_'
/home/niyaa/jsz/liblapack.so(zgeev.o): In function `zgeev_':
zgeev.f:(.text+0xe96): undefined reference to `dznrm2_'
zgeev.f:(.text+0xec2): undefined reference to `zdscal_'
zgeev.f:(.text+0xf13): undefined reference to `idamax_'

为lapack build制作文件

cd -
FORTRAN  = gfortran
OPTS     = -O2 -frecursive
DRVOPTS  = $(OPTS)
NOOPT    = -O0 -frecursive
LOADER   = gfortran
LOADOPTS =

BLASLIB      = -lblas -L/home/niyaa/Downloads/lapack-3.7.0/BLAS/SRC
CBLASLIB     = /home/niyaa/Downloads/lapack-3.7.0/BLAS/SRC/libcblas.so
LAPACKLIB    = liblapack.so
TMGLIB       = libtmglib.a
LAPACKELIB   = liblapacke.a

我能够使用/ usr / lib /目录中提供的lapacklib.so系统编译代码。

0 个答案:

没有答案