在群集上安装的linuxbrew cmake在/usr/lib64中找不到库
我正试图在GGPU集群上构建caffe。我使用linuxbrew在我家的子文件夹中安装了许多依赖项。其中一个依赖项是cmake的更新版本(需要) 当我启动命令时在群集上安装的linuxbrew cmake在/usr/lib64中找不到库,cmake,caffe,atlas,linuxbrew,Cmake,Caffe,Atlas,Linuxbrew,我正试图在GGPU集群上构建caffe。我使用linuxbrew在我家的子文件夹中安装了许多依赖项。其中一个依赖项是cmake的更新版本(需要) 当我启动命令时 cmake .. 我得到这个输出 -- Boost version: 1.59.0 -- Found the following Boost libraries: -- system -- thread -- filesystem -- Found gflags (include: /home/cgvg/.linuxbr
cmake ..
我得到这个输出
-- Boost version: 1.59.0
-- Found the following Boost libraries:
-- system
-- thread
-- filesystem
-- Found gflags (include: /home/cgvg/.linuxbrew/include, library: /home/cgvg/.linuxbrew/lib/libgflags.so)
-- Found glog (include: /home/cgvg/.linuxbrew/include, library: /home/cgvg/.linuxbrew/lib/libglog.so)
-- Found PROTOBUF Compiler: /home/cgvg/.linuxbrew/bin/protoc
-- Found lmdb (include: /home/cgvg/.linuxbrew/include, library: /home/cgvg/.linuxbrew/lib/liblmdb.a)
-- Found LevelDB (include: /home/cgvg/.linuxbrew/include, library: /home/cgvg/.linuxbrew/lib/libleveldb.so)
-- Found Snappy (include: /home/cgvg/.linuxbrew/include, library: /home/cgvg/.linuxbrew/lib/libsnappy.so)
-- CUDA detected: 7.5
-- Automatic GPU detection failed. Building for all known architectures.
-- Added CUDA NVCC flags for: sm_20 sm_21 sm_30 sm_35 sm_50
-- OpenCV found (/home/cgvg/sottile/opencv/share/OpenCV)
CMake Error at /home/cgvg/.linuxbrew/Cellar/cmake/3.4.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find Atlas (missing: Atlas_LAPACK_LIBRARY)
Call Stack (most recent call first):
/home/cgvg/.linuxbrew/Cellar/cmake/3.4.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
cmake/Modules/FindAtlas.cmake:42 (find_package_handle_standard_args)
cmake/Dependencies.cmake:88 (find_package)
CMakeLists.txt:38 (include)
-- Configuring incomplete, errors occurred!
See also "/home/cgvg/sottile/caffe/build/CMakeFiles/CMakeOutput.log".
See also "/home/cgvg/sottile/caffe/build/CMakeFiles/CMakeError.log".
似乎我无法正确链接ATLAS LIB。
丢失的LIB正在处理中
/usr/lib64/atlas-sse3
是否有可能存在限制,使我的linuxbrewed cmake无法链接到上面的文件夹
在错误消息中,它表示:
cmake/Modules/FindAtlas.cmake:42
我试图通过添加正确的路径来修改该文件:
set(Atlas_INCLUDE_SEARCH_PATHS
/usr/include
$ENV{Atlas_ROOT_DIR}
$ENV{Atlas_ROOT_DIR}/include
)
set(Atlas_LIB_SEARCH_PATHS
/usr/lib64/atlas
/usr/lib64/atlas-sse3
$ENV{Atlas_ROOT_DIR}
$ENV{Atlas_ROOT_DIR}/lib
)
什么也没发生
我试图更改路径和LD_LIBRARY_路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/atlas-sse3
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/include/atlas-x86_64-base-sse3/
什么也没发生
我不是linux老手,所以如果我错过了一些重要信息,我道歉。如有任何建议,我们将不胜感激
编辑:
这是/usr/lib64/atlas3-sse3的内容:
libatlas.a libcblas.so.3.0 libf77blas.so.3.0 libptcblas.so.3
libatlas.so libclapack.so liblapack.a libptcblas.so.3.0
libatlas.so.3 libclapack.so.3 liblapack.so libptf77blas.a
libatlas.so.3.0 libclapack.so.3.0 liblapack.so.3 libptf77blas.so
libcblas.a libf77blas.a liblapack.so.3.0 libptf77blas.so.3
libcblas.so libf77blas.so libptcblas.a libptf77blas.so.3.0
libcblas.so.3 libf77blas.so.3 libptcblas.so
libatlas.a libcblas.so.3.0 libf77blas.so.3.0 libptcblas.so.3
libatlas.so libclapack.so liblapack.a libptcblas.so.3.0
libatlas.so.3 libclapack.so.3 liblapack.so libptf77blas.a
libatlas.so.3.0 libclapack.so.3.0 liblapack.so.3 libptf77blas.so
libcblas.a libf77blas.a liblapack.so.3.0 libptf77blas.so.3
libcblas.so libf77blas.so libptcblas.a libptf77blas.so.3.0
libcblas.so.3 libf77blas.so.3 libptcblas.so
lapack似乎捆绑在atlas中,因此FindAtlas.cmake无法找到alapack\u r、alapck或lapack\u atlas 编辑caffe_文件夹/cmake/Module/FindAtlas.cmake,查找Atlas_LAPACK_库名称,并将clapack添加到LIB列表中就足够了
它完全解决了这个问题。遗漏的变量用库的路径填充,可能的名称有:
alapack\u r
、alapack
和lapack\u atlas
。具有给定名称之一的库是否存在于/usr/lib64/atlas-sse3
下?如果是的话,它的确切路径是什么(带文件扩展名)?我已经编辑了postSo,目录中没有这样的库文件。您可能会使用inccorect库安装。或者发现脚本已经过时了。谢谢你,伙计,你走上了正确的轨道,我解决了这个问题!另一种可能是手动设置缓存变量Atlas\u LAPACK\u LIBRARY
,例如,作为cmake的参数-D
。无论如何,这看起来像是FindAtlas.cmake
脚本中的一个bug。