首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决“未找到BLAS API所需的库”问题?

如何解决“未找到BLAS API所需的库”问题?
EN

Stack Overflow用户
提问于 2018-06-19 12:49:00
回答 1查看 7.2K关注 0票数 1

我试图通过简单地按照页面JDFTx上的说明来安装http://jdftx.org/CompilingBasic.html

我已经从这里安装了Cygwin (视窗,x64):https://cygwin.com/install.html。我还相信,我已经安装了必要的库,在这里列出:http://jdftx.org/Dependencies.html

现在,当我在Cygwin64终端输入命令时:

代码语言:javascript
复制
cmake ../jdftx-VERSION/jdftx

我收到以下信息:

代码语言:javascript
复制
CMake Error at /usr/share/cmake-3.6.2/Modules/FindBLAS.cmake:690 (message):
  A required library with BLAS API not found.  Please specify library
  location.
Call Stack (most recent call first):
  /usr/share/cmake-3.6.2/Modules/FindLAPACK.cmake:165 (find_package)
  CMake-Modules/FindLAPACK_ATLAS.cmake:20 (find_package)
  CMakeLists.txt:85 (find_package)


-- Configuring incomplete, errors occurred!
See also "/cygdrive/c/jdftx/build/CMakeFiles/CMakeOutput.log".
See also "/cygdrive/c/jdftx/build/CMakeFiles/CMakeError.log".

解决方案是使用此命令,从而显式地指定库的位置:

代码语言:javascript
复制
cmake -DLAPACK_LIBRARIES=/usr/lib/liblapack.dll.a ../jdftx-1.4.1/jdftx

但是,现在我得到了以下输出,其中包含另一条错误消息:

代码语言:javascript
复制
    -- Forcing static linking for Cygwin/Windows
-- Found GSL: /lib/libgsl.dll.a
-- Found FFTW3:  /lib/libfftw3_threads.dll.a /lib/libfftw3.dll.a
-- Found LAPACK: /usr/lib/liblapack.dll.a
-- Found CBLAS: /usr/lib/libgslcblas.dll.a
-- Found MPI_C: /usr/lib/libmpi.dll.a;/usr/lib/libopen-rte.dll.a;/usr/lib/libope                                                     n-pal.dll.a;/usr/lib/libm.a;/usr/lib/w32api/libgdi32.a
CMake Warning at /usr/share/cmake-3.6.2/Modules/FindMPI.cmake:420 (message):
  Unable to find MPI library mpi_cxx
Call Stack (most recent call first):
  /usr/share/cmake-3.6.2/Modules/FindMPI.cmake:610 (interrogate_mpi_compiler)
  CMakeLists.txt:93 (find_package)


CMake Error at /usr/share/cmake-3.6.2/Modules/FindPackageHandleStandardArgs.cmak                                                     e:148 (message):
  Could NOT find MPI_CXX (missing: MPI_CXX_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake-3.6.2/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA                                                     _FAILURE_MESSAGE)
  /usr/share/cmake-3.6.2/Modules/FindMPI.cmake:628 (find_package_handle_standard                                                     _args)
  CMakeLists.txt:93 (find_package)


-- Configuring incomplete, errors occurred!
See also "/cygdrive/c/jdftx/build/CMakeFiles/CMakeOutput.log".
See also "/cygdrive/c/jdftx/build/CMakeFiles/CMakeError.log".

有人知道我应该在cmake调用中使用什么其他选项吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-20 05:13:27

解决办法是:

代码语言:javascript
复制
cmake -DLAPACK_LIBRARIES=/usr/lib/liblapack.dll.a -DMPI_CXX_LIBRARIES=/usr/lib/libmpi_mpifh.dll.a ../jdftx-1.4.1/jdftx

现在我意识到,这不是第二个错误的解决方案.

实际的解决方案是卸载所有相关库并安装以前的版本(而不是最新版本)。在我做完之后,一切都很好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50928885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档