This version (2022/06/20 09:01) was approved by msiegel.
This is an old revision of the document!
shore 0.9.3
We finally managed to compile shore. It was a bit envolved because of a bug in the boost library and an error in a source header file of shore which we had to find out and correct.
The steps to reproduce the installation are:
1)
module load intel/15.0.2 module load intel-mpi/5 module load boost/intel/1.58.0 module load gsl/1.16 module load xz/5.2.1 export CPLUS_INCLUDE_PATH="/opt/sw/x86_64/glibc-2.12/ivybridge-ep/boost/1.58.0/intel-15.0.2/include:/opt/sw/x86_64/glibc-2.12/ivybridge-ep/gsl/1.16/intel-14.0.2/include:/opt/sw/x86_64/glibc-2.12/ivybridge-ep/xz/5.2.1/intel-15.0.2/include" export LIBRARY_PATH="/opt/sw/x86_64/glibc-2.12/ivybridge-ep/boost/1.58.0/intel-15.0.2/lib:/opt/sw/x86_64/glibc-2.12/ivybridge-ep/gsl/1.16/intel-14.0.2/lib:/opt/sw/x86_64/glibc-2.12/ivybridge-ep/xz/5.2.1/intel-15.0.2/lib" CC=icc CXX=icpc MPICXX=mpiicpc MPICC=mpiicc CFLAGGS="-I/opt/sw/x86_64/glibc-2.12/ivybridge-ep/boost/1.58.0/intel-15.0.2/include/boost" CXXFLAGS="-I/opt/sw/x86_64/glibc-2.12/ivybridge-ep/boost/1.58.0/intel-15.0.2/include/boost" LDFLAGS="-L/opt/sw/x86_64/glibc-2.12/ivybridge-ep/xz/5.2.1/intel-15.0.2/lib -L/opt/sw/x86_64/glibc-2.12/ivybridge-ep/boost/1.58.0/intel-15.0.2/lib" ./configure --with-mpi
2) Then modify the file ./src/CoreLib/shore/processing/method_check.hpp. There you need to change the definition “private” to “public” in line 34: This is how it should look (lines 32 - 51:
class member_check_defs { public: class cannot_mix { char m; }; class can_mix { cannot_mix m[2]; }; template<typename U, U t> class instantiate_test {}; member_check_defs(); };
3) Then type
make