【发布时间】:2015-03-09 03:12:22
【问题描述】:
我正在尝试在运行 Enterprise Red Hat 6.6(圣地亚哥)的桌面上安装 MultiNest。我下载了必要的包(MultiNest_v3.9_CMake.tar.gz),并按照安装说明进行操作:
cd MultiNest/build
cmake ..
虽然安装了 BLAS 和 LAPACK,但出现以下错误:
/usr/share/cmake/Modules/FindBLAS.cmake:594 处的 CMake 错误(消息): 找不到带有 BLAS API 的必需库。请指定图书馆 地点。 调用堆栈(最近的调用优先): /usr/share/cmake/Modules/FindLAPACK.cmake:142 (find_package) src/CMakeLists.txt:31 (FIND_PACKAGE)
-- 配置不完整,出现错误! 另请参阅“/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeOutput.log”。 另见“/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeError.log”。
有什么建议吗?
输出“CmakeError.log”如下所示,似乎表明问题涉及称为“pthreads”的东西。
确定 pthread_create 是否存在失败,输出如下: 更改目录:/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp
运行编译命令:"/usr/bin/gmake" "cmTryCompileExec4203479411/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec4203479411.dir/build.make CMakeFiles/cmTryCompileExec4203479411.dir/build gmake[1]:进入目录
/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp' /usr/local/bin/cmake -E cmake_progress_report /home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec4203479411.dir/CheckSymbolExists.c.o /usr/local/Ureka/python/bin/gcc -o CMakeFiles/cmTryCompileExec4203479411.dir/CheckSymbolExists.c.o -c /home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTryCompileExec4203479411 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec4203479411.dir/link.txt --verbose=1 /usr/local/Ureka/python/bin/gcc CMakeFiles/cmTryCompileExec4203479411.dir/CheckSymbolExists.c.o -o cmTryCompileExec4203479411 -rdynamic CMakeFiles/cmTryCompileExec4203479411.dir/CheckSymbolExists.c.o: In functionmain': CheckSymbolExists.c:(.text+0xc): 未定义引用pthread_create' collect2: ld returned 1 exit status gmake[1]: Leaving directory/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp' gmake[1]: * [cmTryCompileExec4203479411] 错误 1 gmake: * [cmTryCompileExec4203479411/fast] 错误2文件 /home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */
包括
int main(int argc, char** argv) { (void)argv;
ifndef pthread_create
返回 ((int*)(&pthread_create))[argc];
其他
(无效)argc; 返回 0;
endif
}
确定函数 pthread_create 是否存在于 pthread 中失败,输出如下: 更改目录:/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp
运行编译命令:"/usr/bin/gmake" "cmTryCompileExec3959414027/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec3959414027.dir/build.make CMakeFiles/cmTryCompileExec3959414027.dir/build gmake[1]:进入目录
/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp' /usr/local/bin/cmake -E cmake_progress_report /home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec3959414027.dir/CheckFunctionExists.c.o /usr/local/Ureka/python/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec3959414027.dir/CheckFunctionExists.c.o -c /usr/local/share/cmake-3.1/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec3959414027 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3959414027.dir/link.txt --verbose=1 /usr/local/Ureka/python/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec3959414027.dir/CheckFunctionExists.c.o -o cmTryCompileExec3959414027 -rdynamic -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: ld returned 1 exit status gmake[1]: Leaving directory/home/ianc/Downloads/MultiNest/build/CMakeFiles/CMakeTmp' gmake[1]: * [cmTryCompileExec3959414027] 错误 1 gmake: * [cmTryCompileExec3959414027/fast] 错误2
【问题讨论】:
标签: installation pthreads redhat lapack blas