我正在尝试安装用于并行计算(固体力学问题)的libmesh
在安装过程中,我可以看到配置摘要,其中指出我在计算机上安装了几乎所有的依赖项,但一些重要功能(如infinite elements
和node 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
的摘要没有变化。我将非常感谢对这个问题的任何有益的评论。
快速回答
始终检查configure --help
。对于libmesh,它有以下行:
--使用节点约束支持启用节点约束生成--使用无限元素启用ifem构建
更多详细信息
此外,将configure
输出保存到文件中也很方便:
configure--enable ifem--enable nodeconstraint 2>&1|tee configure.out
然后检查configure.out
是否包含正确的选项:
无限元素…………:对狄利克雷约束…………:对节点约束…………..:对
故障排除
如果由于某种意外原因没有,您可以在始终由configure
创建的config.log
文件中搜索失败的特定测试。
一个好的第一种方法是运行
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:10:31:致命错误:/usr/include/glpk.h:没有这样的文件或目录。。。编译终止。
这清楚地说明了为什么某些功能不可用。