-
Notifications
You must be signed in to change notification settings - Fork 54
Compilation FAQ
This is an informal collection of common compilation problems and their solutions. Please add your solutions whenever you encounter a problem so that other people do not have to reinvent the wheel.
-
A lot of errors along the lines of
Vars is not a template
orqualified name not allowed
orerror: namespace "std" has no member "xxx"
. Check whether you compile with the c++14 standard (-std=c++14
) and that your compiler is recent enough to support the option you have chosen (e.g. intel compilers later than 16.0). -
undefined reference to
dgemm_
etc. This is a very common error and usually means that blas and lapack aren't included correctly. Usually, adding-lblas
and-llapack
tosyslibflags
in$CHOMBO_HOME/mk/Make.defs.local
does the trick. -
undefined reference to
for_write_seq_lis
etc. This has previously arisen with intel compilers and has been solved by adding-lifcore
to thesyslibflags
in$CHOMBO_HOME/mk/Make.defs.local
. -
When compiling with GNU compilers, sometimes we see errors complaining that
template instantiation depth exceeds maximum of 25
, which can be solved by changing the line in the file mk/compiler/Make.defs.GNU from_cxxbaseflags := -Wno-long-long -Wno-sign-compare -Wno-deprecated -ftemplate-depth-25
to
_cxxbaseflags := -Wno-long-long -Wno-sign-compare -Wno-deprecated -lm -lc
and adding
-ftemplate-depth-50
to the compilers, as inCXX = g++ -std=c++14 -ftemplate-depth-50 -I${MKLROOT}/include
See the Make.defs.local file for the finesterrae system for an example of this.
-
If running
make all
in the GRChombo base dircetory works for the examples but gives youGRChombo/Source/AMRInterpolator/AMRInterpolator.impl.hpp:426: Assertion points_found == query.m_num_points failed. !!!
this has previously been found to be related to the setting for the flibflags. It seems that-lifport -lifcore
are ok but that some others can cause this bug.
Copyright GRChombo 2018. Contact us for further details.