Closed
Description
Arch Linux (x86_64)
gcc (GCC) 6.1.1 20160501
boost 1.60.0
When building version 1.1.2 or the latest revision of Cereal, this is the output:
[13/87] Building CXX object unittests/CMakeFiles/test_map.dir/map.cpp.o
FAILED: unittests/CMakeFiles/test_map.dir/map.cpp.o
/usr/bin/c++ -DBOOST_TEST_DYN_LINK -DBOOST_TEST_MODULE=test_map -I.././include -std=c++11 -Wall -Werror -g -Wextra -Wshadow -pedantic -O3 -DNDEBUG -MMD -MT unittests/CMakeFiles/test_map.dir/map.cpp.o -MF unittests/CMakeFiles/test_map.dir/map.cpp.o.d -o unittests/CMakeFiles/test_map.dir/map.cpp.o -c ../unittests/map.cpp
In file included from /usr/include/boost/test/tools/old/impl.hpp:24:0,
from /usr/include/boost/test/test_tools.hpp:46,
from /usr/include/boost/test/unit_test.hpp:18,
from ../unittests/map.cpp:28:
/usr/include/boost/test/tools/detail/print_helper.hpp: In instantiation of ‘void boost::test_tools::tt_detail::print_log_value<T>::operator()(std::ostream&, const T&) [with T = std::pair<const std::__cxx11::basic_string<char>, int>; std::ostream = std::basic_ostream<char>]’:
/usr/include/boost/test/tools/detail/print_helper.hpp:172:25: required from ‘std::ostream& boost::test_tools::tt_detail::operator<<(std::ostream&, const boost::test_tools::tt_detail::print_helper_t<T>&) [with T = std::pair<const std::__cxx11::basic_string<char>, int>; std::ostream = std::basic_ostream<char>]’
/usr/include/boost/test/utils/wrap_stringstream.hpp:66:19: required from ‘boost::basic_wrap_stringstream<CharT>& boost::operator<<(boost::basic_wrap_stringstream<CharT>&, const T&) [with CharT = char; T = boost::test_tools::tt_detail::print_helper_t<std::pair<const std::__cxx11::basic_string<char>, int> >]’
/usr/include/boost/test/tools/old/impl.hpp:212:19: required from ‘boost::test_tools::assertion_result boost::test_tools::tt_detail::equal_coll_impl::operator()(Left, Left, Right, Right) [with Left = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, int> >; Right = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, int> >]’
../unittests/map.cpp:106:5: required from ‘void test_map() [with IArchive = cereal::BinaryInputArchive; OArchive = cereal::BinaryOutputArchive]’
../unittests/map.cpp:170:69: required from here
/usr/include/boost/test/tools/detail/print_helper.hpp:50:14: error: no match for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘const std::pair<const std::__cxx11::basic_string<char>, int>’)
ostr << t;
~~~~~^~~~
In file included from /usr/include/c++/6.1.1/iostream:39:0,
from .././include/cereal/access.hpp:33,
from .././include/cereal/details/traits.hpp:43,
from .././include/cereal/cereal.hpp:43,
from .././include/cereal/types/memory.hpp:33,
from ../unittests/common.hpp:30,
from ../unittests/map.cpp:27:
/usr/include/c++/6.1.1/ostream:108:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]
operator<<(__ostream_type& (*__pf)(__ostream_type&))
^~~~~~~~
[...]