Compiler error with AMR
After merging the OPAL master branch into my fork, OPAL does not compile anymore with AMR (i.e. -DENABLE_AMR_SOLVER=1). The error message states
/opt/psi/Compiler/boost/1.62.0/gcc/5.4.0/include/boost/mpl/vector/aux_/at.hpp:35:38: fatal error: template instantiation depth exceeds maximum of 64 (use -ftemplate-depth= to increase the maximum) typedef typeof( Vector::item_(index_()) ) type;
The following toolchain is used:
- source /opt/psi/config/profile.bash
- module use unstable
- module load cmake/3.6.3
- module load gcc/5.4.0
- module load boost/1.62.0
- module load gsl/2.2.1
- module load openmpi/1.10.4
- module load trilinos/12.10.1
- module load hdf5/1.8.18
- module load H5hut/2.0.0rc3
In order to compile with AMR, one has to install BoxLib first by subsequent steps:
- git clone https://github.com/BoxLib-Codes/BoxLib
- cd BoxLib
- mkdir build
- cd build
- cmake -DBL_USE_PARTICLES=1 -DCMAKE_INSTALL_PREFIX=$TARGET_DIR ../
- make
- make install
- export environment variables:
- $ export BOXLIB_HOME=$TARGET_DIR
- $ export BOXLIB_PREFIX=$BOXLIB_HOME
- $ export BOXLIB_INCLUDE_DIR=$BOXLIB_HOME/include
- $ export BOXLIB_LIBRARY_DIR=$BOXLIB_HOME/lib
- $ export BOXLIB_PERL_DIR=$BOXLIB_HOME/perl
The compilation of OPAL is then performed by configuring CMAKE with -DENABLE_AMR_SOLVER=1