2015-01-11 39 views
0

我試圖在運行Enterprise Red Hat 6.6(Santiago)的桌面上安裝MultiNest。我下載了必需的包(MultiNest_v3.9_CMake.tar.gz),並按照安裝說明操作:RedHat MultiNest:安裝失敗,CMake/BLAS/LAPACK(或pthreads)問題

cd MultiNest/build 
cmake .. 

雖然安裝BLAS和LAPACK,我得到了以下錯誤:

CMake的錯誤在/usr/share/cmake/Modules/FindBLAS.cmake:594(消息): 找不到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存在失敗,出現以下的輸出: 更改導演:/家庭/ ianc /下載/多重嵌套/編譯/ CMakeFiles/CMakeTmp

運行構建命令:「在/ usr /箱/ gmake命令」, 「cmTryCompileExec4203479411 /快」 的/ usr /斌/使用gmake -f CMakeFiles/cmTryCompileExec4203479411.dir/build.make CMakeFiles/cmTryCompileExec4203479411.dir /建立 使用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 function主要: CheckSymbolExists.c :(。文本+ 0xc):未定義的參考pthread_create' collect2: ld returned 1 exit status gmake[1]: Leaving directory /家庭/ ianc /下載/多重嵌套/編譯/ CMakeFiles/CMakeTmp」 使用gmake [1]:* [cmTryCompileExec4203479411]錯誤1 gmake命令:* [cmTryCompileExec4203479411 /快]錯誤2

文件/ home/ianc /下載/多重嵌套/編譯/ CMakeFiles/CMakeTmp/CheckSymbolExists。C: /* */

包括

INT主(INT的argc,焦炭** argv的) { (無效)的argv;

IFNDEF在pthread_create

回報((INT *)(&在pthread_create))[的argc];

else

(void)argc; return 0;

ENDIF

}

是否存在功能在pthread_create在並行線程失敗,出現以下輸出確定: 更改導演:/家庭/ ianc /下載/多重嵌套/編譯/ CMakeFiles/CMakeTmp

運行構建命令: 「在/ usr/bin中/ gmake命令」 「cmTryCompileExec3959414027 /快」 在/ usr/bin中/使用gmake -f CMakeFiles/cmTryCompileExec3959414027.dir/build.make CMakeFiles/cmTryCompileExec3959414027.dir /建造 使用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 /家庭/ ianc /下載/多重嵌套/建造/ CMakeFiles/CMakeTmp」 使用gmake [1]:* [cmTryCompileExec3959414027]錯誤1 使用gmake:* [cmTryCompileExec3959414027 /快]錯誤2

回答

0

上述錯誤表示在您的系統上找不到POSIX線程庫libpthreads。此錯誤源自您的系統提供的FindLAPACK.cmake腳本,而不是來自MultiNest軟件包中的某些內容。

我不知道在RedHat上提供此功能的特定庫,但是您應該可以使用yum provides pthread進行檢查。在此之後,您可以使用yum install M進行安裝,其中M是來自上一個命令的任何庫提供的libpthread

1

安裝這些庫及其devel的版本的生成標題

libblas {3,-dev} liblapack {3,-dev} libatlas {3-基,-dev} cmake的建立必要的gfortran

您也可以嘗試安裝compat軟件包。