I am a newcomer to learning garli. When I compile garli with ./build_garli.sh --enable-mpi, I get the following error:
configreader.cpp: In member function 'void ConfigReader::MakeAllSection()':
configreader.cpp:638:59: error: no matching function for call to 'make_pair<std::__cxx11::string, Options>(std::__cxx11::string&, std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)'
sections.insert(make_pair<std::string, Options>(name, ops));
^
In file included from /usr/local/include/c++/8.2.0/bits/stl_algobase.h:64,
from /usr/local/include/c++/8.2.0/bits/char_traits.h:39,
from /usr/local/include/c++/8.2.0/ios:40,
from /usr/local/include/c++/8.2.0/ostream:38,
from /usr/local/include/c++/8.2.0/iostream:39,
from configreader.cpp:21:
/usr/local/include/c++/8.2.0/bits/stl_pair.h:519:5: note: candidate: 'template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)'
make_pair(_T1&& __x, _T2&& __y)
^~~~~~~~~
/usr/local/include/c++/8.2.0/bits/stl_pair.h:519:5: note: template argument deduction/substitution failed:
configreader.cpp:638:50: note: cannot convert 'name' (type 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'}) to type 'std::__cxx11::basic_string<char>&&'
sections.insert(make_pair<std::string, Options>(name, ops));
^~~~
make[2]: *** [configreader.o] Error 1
make[2]: Leaving directory `/home/qiuyue/garli-2.01/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/qiuyue/garli-2.01'
make: *** [all] Error 2
The version of gcc is 8.2.0. I am just wondering how to solve this problem. Thanks in advance.