我试图使用以下cmake脚本在Kubuntu14.04下构建Sandia的达科塔工具包:
cmake \
-D CMAKE_INSTALL_PREFIX:PATH=/usr/local/dakota \
-D CMAKE_BUILD_TYPE:STRING=Release \
-D DAKOTA_HAVE_MPI:BOOL=TRUE \
-D MPI_INCLUDE_PATH="/usr/lib/openmpi/include" \
-D MPI_LIBRARY="/usr/lib/openmpi/lib" \
-D CMAKE_CXX_COMPILER:FILEPATH="/usr/bin/mpicxx" \
-D HAVE_X_GRAPHICS:BOOL=FALSE \
-D Trilinos_DIR:STRING="=/usr/local/trilinos/lib/cmake/Trilinos" \
-D BLAS_LIBS:STRING="/usr/lib/libcblas.so.3" \
-D LAPACK_LIBS:STRING="/usr/lib/lapack.so.3" \
-D Boost_INCLUDE_DIR:STRING="/usr/local/boost/source/boost_1_57_0" \
/usr/local/dakota/dakota-6.1.0.src但是,配置失败并带有警告。
CMake Warning at /usr/local/trilinos/TrilinosConfig.cmake:44 (MESSAGE):
TrilinosConfig.cmake has moved. It now exists at a location under the
installation prefix where the find_package command looks by default (<prefix>/lib/cmake/Trilinos). This compatibility file exists at the old location (<prefix>/include) to present this message and load the file from its new location. The find_package() call that loaded this file did so because its cached result variable, Trilinos_DIR, is set to
/usr/local/trilinos
I'm locally setting Trilinos_DIR to
/usr/local/lib/cmake/Trilinos
and loading TrilinosConfig.cmake from its new location. One may suppress
this warning by setting the above value in the cache. However, the
application needs modification permanently fix the issue. The
find_package() call that loaded this file may have the form
find_package(Trilinos REQUIRED PATHS ${Trilinos_PATH}/include)
Change it to the form
set(CMAKE_PREFIX_PATH ${Trilinos_PATH} ${CMAKE_PREFIX_PATH})
find_package(Trilinos REQUIRED)
to find TrilinosConfig.cmake in its new location in future builds while
still honoring the Trilinos_PATH option for this application.和错误
CMake Error at /usr/local/trilinos/TrilinosConfig.cmake:66 (INCLUDE):
include could not find load file:
/usr/local/lib/cmake/Trilinos/TrilinosConfig.cmake因为在/usr/local/lib/cmake/Trilinos下没有三叉戟。不幸的是,我没有足够的经验使用cmake来弥补这一点,尽管似乎已经提出了解决方案。有人能带我完成这个过程吗?
除了Trilinos问题之外,cmake也找不到几个(头)文件,即
Looking for pthread_create in pthreads - not found
Looking for include file cxxabi.h - not found
Looking for include file cxxabi.h - not found
Looking for pdb.h - not found我不确定这是否是一个单独的问题(如果是的话,如何解决)。任何帮助都将不胜感激。
相关软件版本为: cmake 2.8.12.2、boost 1.57.0、openmpi 1.6.5和三叉戟11.14.1。
发布于 2015-04-22 22:43:21
尝试以下两个选项。
不管是..。
或者..。
关于问题的第二部分,首先检查找不到这些头是否真的会对后续的构建产生影响。
现在我看到命令行中有一个错误,一个伪造的=。试着
-D Trilinos_DIR:STRING="/usr/local/trilinos/lib/cmake/Trilinos"
或
-D Trilinos_DIR:STRING="/usr/local/trilinos"
https://stackoverflow.com/questions/29767894
复制相似问题