欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到

Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到

2025/1/30 16:26:40 来源:https://blog.csdn.net/weixin_44584198/article/details/145330048  浏览:    关键词:Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到

Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到

这次在windows的WSL2中遇到了一个非常奇怪的错误,就是

CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):Could NOT find BLAS (missing: BLAS_LIBRARIES)
Call Stack (most recent call first):/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)/usr/share/cmake-3.22/Modules/FindBLAS.cmake:1337 (find_package_handle_standard_args)cmake/ExternalBLASLAPACK.cmake:181 (find_package)CMakeLists.txt:148 (include)

此前,我已经使用下面的命令安装了依赖包:

sudo apt-get install libblas-dev
sudo apt-get install libatlas-base-dev
sudo apt install libopenblas-dev

使用下面命令进行包的查找,也没有问题:

ldconfig -p | grep blas

在这里插入图片描述
使用whereis blas命令进行查找,也ok:

whereis blas

在这里插入图片描述
所以最后确认是cmake的搜索路径问题

1、cmake时候指定路径

在cmake时候指定路径,即可完成cmake(!!!注意一定要删除当前的cmake缓存,也就是build文件夹下的cmake相关内容)

 cmake .. -DCMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/

对于删除cmake缓存,我直接用下面命令把build文件夹下面东西都删除了:

 rm -rf *

在这里插入图片描述

2、修改Cmakelist内容

第二种方法,可以在Cmakelist中进行路径指定,将库的路径赋予CMAKE_PREFIX_PATH这个路径可以由上面展示的命令ldconfig -p | grep blas返回内容得到:
在这里插入图片描述

  set(OPENBLAS_DIR /usr/lib/x86_64-linux-gnu/)list(APPEND CMAKE_PREFIX_PATH ${OPENBLAS_DIR})find_package(BLAS REQUIRED)find_package(LAPACK REQUIRED)

修改完内容后记得清除cmake缓存,不然可能还会报错!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com