首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成达科他州时配置错误

生成达科他州时配置错误
EN

Stack Overflow用户
提问于 2015-04-21 09:17:35
回答 1查看 703关注 0票数 1

我试图使用以下cmake脚本在Kubuntu14.04下构建Sandia的达科塔工具包:

代码语言:javascript
复制
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

但是,配置失败并带有警告。

代码语言:javascript
复制
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.

和错误

代码语言:javascript
复制
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也找不到几个(头)文件,即

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-22 22:43:21

尝试以下两个选项。

不管是..。

  • 修改cmake调用,即删除 Trilinos_DIR:STRING="=/usr/local/trilinos/lib/cmake/Trilinos“-D \

或者..。

  • 查找您的TrilinosConfig.cmake所在的位置
  • 修改cmake调用,即在您所说的位置放置正确的目录 Trilinos_DIR:STRING="=/usr/local/trilinos/lib/cmake/Trilinos“-D \

关于问题的第二部分,首先检查找不到这些头是否真的会对后续的构建产生影响。

现在我看到命令行中有一个错误,一个伪造的=。试着

-D Trilinos_DIR:STRING="/usr/local/trilinos/lib/cmake/Trilinos"

-D Trilinos_DIR:STRING="/usr/local/trilinos"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29767894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档