Skip to content

Compilation FAQ

K Clough edited this page Feb 5, 2018 · 35 revisions

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.

  1. A lot of errors along the lines of Vars is not a template or qualified name not allowed or error: 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).

  2. 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 to syslibflags in $CHOMBO_HOME/mk/Make.defs.local does the trick.

  3. undefined reference to for_write_seq_lis etc. This has previously arisen with intel compilers and has been solved by adding -lifcore to the syslibflags in $CHOMBO_HOME/mk/Make.defs.local.

  4. 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 in

     CXX = 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.

  5. If running make all in the GRChombo base dircetory works for the examples but gives you GRChombo/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.

Clone this wiki locally