2

我正在尝试安装libmesh并行计算(固体力学问题)。
在安装过程中,我可以看到配置摘要,其中指出我在计算机上安装了几乎所有依赖项,但是一些重要的功能,例如infinite elementsnode constraints没有启用。

以下是configure命令的摘要日志:

  ----------------------------------- SUMMARY -----------------------------------

  Package version.................... : libmesh-0.9.1pre

  C++ compiler type.................. : gcc4.6
  C++ compiler....................... : mpicxx
  C compiler......................... : mpicc
  Fortran compiler................... : mpif90
  Build Methods...................... : dbg devel opt

  CPPFLAGS...(dbg)................... : -DDEBUG -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
  CXXFLAGS...(dbg)................... : -O0 -felide-constructors -g -ansi -pedantic -W -Wall -Wextra -Wno-long-long -Wunused -Wpointer-arith -Wformat -Wparentheses -std=c++0x -Woverloaded-virtual -fopenmp
  CFLAGS.....(dbg)................... : -g -Wimplicit -fopenmp

  CPPFLAGS...(devel)................. :
  CXXFLAGS...(devel)................. : -O2 -felide-constructors -g -ansi -pedantic -W -Wall -Wextra -Wno-long-long -Wunused -Wpointer-arith -Wformat -Wparentheses -Wuninitialized -funroll-loops -fstrict-aliasing -std=c++0x -Woverloaded-virtual -Wdisabled-optimization -fopenmp
  CFLAGS.....(devel)................. : -O2 -g -Wimplicit -funroll-loops -fstrict-aliasing -fopenmp

  CPPFLAGS...(opt)................... : -DNDEBUG
  CXXFLAGS...(opt)................... : -O2 -felide-constructors -funroll-loops -fstrict-aliasing -std=c++0x -Wdisabled-optimization -fopenmp
  CFLAGS.....(opt)................... : -O2 -funroll-loops -fstrict-aliasing -fopenmp

  Install dir........................ : /usr/local
  Build user......................... : mubeen
  Build host......................... : Khwarizmi
  Build architecture................. : x86_64-unknown-linux-gnu
  Git revision....................... : 8fbff282323e513a967bd53345316c26c6a54107

  Library Features:
    adaptive mesh refinement......... : yes
    complex variables................ : no
    example suite.................... : yes
    ghosted vectors.................. : yes
    high-order shape functions....... : yes
    id size (boundaries)............. : 2 bytes
    id size (dofs)................... : 4 bytes
    id size (processors)............. : 2 bytes
    id size (subdomains)............. : 2 bytes
    infinite elements................ : no
    Dirichlet constraints............ : yes
    node constraints................. : no
    parallel mesh.................... : yes
    performance logging.............. : no
    periodic boundary conditions..... : yes
    reference counting............... : yes
    shape function 2nd derivatives... : yes
    stack trace files................ : no
    variational smoother............. : yes
    xdr binary I/O................... : yes

  Optional Packages:
    boost............................ : yes
    cppunit.......................... : yes
    eigen............................ : yes
    exodus........................... : yes
       version....................... : v5.22
    fparser.......................... : yes
       build from version............ : release
    glpk............................. : yes
    gmv.............................. : yes
    gzstream......................... : yes
    hdf5............................. : yes
    laspack.......................... : yes
    libhilbert....................... : yes
    metis............................ : yes
    mpi.............................. : yes
    nanoflann........................ : yes
    nemesis.......................... : yes
       version....................... : v5.22
    netcdf........................... : yes
       version....................... : 4
    openmp........................... : yes
    parmetis......................... : yes
    petsc............................ : yes
       version....................... : 3.3.0
    sfcurves......................... : yes
    slepc............................ : yes
    tbb.............................. : yes
    c++ threads...................... : yes
       flavor........................ : tbb::tbb_thread
    tecio............................ : no
    tecplot...(vendor binaries)...... : yes
    tetgen........................... : yes
    triangle......................... : yes
    trilinos......................... : yes
       AztecOO....................... : yes
       NOX........................... : yes
       ML............................ : no
       Tpetra........................ : yes
       DTK........................... : no
    vtk.............................. : yes
       version....................... : 5.8.0
  --------------------------------------------------------------------------------

我也使用了该--enable-nodeconstraint=yes选项,但configure. 我将非常感谢有关此问题的任何有用的评论。

4

1 回答 1

3

快速回答

经常检查configure --help。对于 libmesh,它具有以下几行:

    --enable-nodeconstraint 使用节点约束支持构建
    --enable-ifem 构建无限元素

更多细节

configure将输出保存到文件中也很方便:

    配置 --enable-ifem --enable-nodeconstraint 2>&1 | 三通配置.out

然后检查是否configure.out包含正确的选项:

  无限元素........:是的
  狄利克雷约束............:是的
  节点约束.......................:是的

故障排除

如果它不是出于某种意外原因,您可以搜索config.log始终创建的文件以查找configure失败的特定测试。

一个好的第一种方法是运行

grep -B1 “编译终止” config.log

相当长的输出看起来像:

……
<很多行省略>
……
--
conftest.cpp:140:36: 致命错误: /usr/include/Eigen/Eigen: 没有这样的文件或目录..
编译终止。
--
conftest.cpp:107:36: 致命错误: /usr/include/Eigen/Eigen: 没有这样的文件或目录..
编译终止。
--
conftest.cpp:143:31:致命错误:/usr/include/glpk.h:没有这样的文件或目录...
编译终止。
--
conftest.cpp:110:31:致命错误:/usr/include/glpk.h:没有这样的文件或目录...
编译终止。

这清楚地表明了为什么某些功能不可用。

于 2013-12-13T15:39:24.863 回答