我使用链接编译Ipopt和openblas:./configure --with-blas-incdir="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/include/" --with-blas-lib="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/lib/ -libopenblas_sandybridgep-r0.2.14.a"
如果我没有定义任何特定的LAPACK库,Ipopt会自动使用netlib中的LAPACK。 openplas是否带有自己优化的LAPACK实现?
如果我使用--with-lapack-incdir="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/include/" --with-lapack-lib="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/lib/"
make失败,因为某些Lapack例程无法解析,例如undefined reference to
dpotrs _
At least there is the file
lapacke.h in the
包含folder but there are not LAPACK libraries in the
lib`文件夹。
我在GitHub上发现了这个issue:
好的,我想我弄清楚了...... 您可以通过>在make命令行上指定NO_LAPACK = 1来使OpenBLAS构建而不包含LAPACK。默认情况下,它包含一个完整的LAPACK lib(优化了一些部分)。
但如果这是libs的情况呢?
我应该针对openblas编译LAPACK吗?
如果有人能对这个问题有所了解,我将非常感激。