-
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
. 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. -
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.
Copyright GRChombo 2018. Contact us for further details.