Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build with Boost 1.70 (master snapshot) #1054

Closed
jbeich opened this issue Mar 6, 2019 · 12 comments
Closed

Fails to build with Boost 1.70 (master snapshot) #1054

jbeich opened this issue Mar 6, 2019 · 12 comments

Comments

@jbeich
Copy link

jbeich commented Mar 6, 2019

After boostorg/asio@59066d80b26e build fails. See error log.

In file included from Release/src/websockets/client/ws_client_wspp.cpp:14:
In file included from Release/src/pch/stdafx.h:102:
In file included from Release/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:22:
In file included from /usr/local/include/boost/asio/ssl/stream.hpp:29:
In file included from /usr/local/include/boost/asio/ssl/detail/io.hpp:21:
In file included from /usr/local/include/boost/asio/ssl/detail/stream_core.hpp:21:
In file included from /usr/local/include/boost/asio/deadline_timer.hpp:24:
In file included from /usr/local/include/boost/asio/basic_deadline_timer.hpp:31:
In file included from /usr/local/include/boost/asio/executor.hpp:338:
/usr/local/include/boost/asio/impl/executor.hpp:179:22: error: no member named 'context' in 'std::__1::reference_wrapper<boost::asio::io_context>'
    return executor_.context();
           ~~~~~~~~~ ^
/usr/local/include/boost/asio/impl/executor.hpp:142:3: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::context' requested here
  impl(const Executor& e, const Allocator& a) BOOST_ASIO_NOEXCEPT
  ^
/usr/local/include/boost/asio/impl/executor.hpp:137:30: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::impl' requested here
    impl* p = new (mem.ptr_) impl(e, a);
                             ^
/usr/local/include/boost/asio/impl/executor.hpp:333:50: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::create' requested here
  : impl_(impl<Executor, std::allocator<void> >::create(e))
                                                 ^
/usr/include/c++/v1/memory:2103:18: note: in instantiation of function template specialization 'boost::asio::executor::executor<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
                 ^
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/usr/include/c++/v1/memory:2205:9: note: in instantiation of function template specialization 'std::__1::__compressed_pair_elem<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, 1, false>::__compressed_pair_elem<std::__1::reference_wrapper<boost::asio::io_context> &&, 0>' requested here
        _Base2(__pc, _VSTD::move(__second_args),
        ^
/usr/include/c++/v1/memory:3618:16: note: in instantiation of function template specialization 'std::__1::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > &, std::__1::reference_wrapper<boost::asio::io_context> &&>' requested here
            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
               ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > >::__shared_ptr_emplace<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::make_shared<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
Release/libs/websocketpp/websocketpp/transport/asio/security/none.hpp:171:25: note: in instantiation of function template specialization 'std::__1::make_shared<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::reference_wrapper<boost::asio::io_context> >' requested here
        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
                        ^
In file included from Release/src/websockets/client/ws_client_wspp.cpp:14:
In file included from Release/src/pch/stdafx.h:102:
In file included from Release/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:22:
In file included from /usr/local/include/boost/asio/ssl/stream.hpp:29:
In file included from /usr/local/include/boost/asio/ssl/detail/io.hpp:21:
In file included from /usr/local/include/boost/asio/ssl/detail/stream_core.hpp:21:
In file included from /usr/local/include/boost/asio/deadline_timer.hpp:24:
In file included from /usr/local/include/boost/asio/basic_deadline_timer.hpp:31:
In file included from /usr/local/include/boost/asio/executor.hpp:338:
/usr/local/include/boost/asio/impl/executor.hpp:169:15: error: no member named 'on_work_started' in 'std::__1::reference_wrapper<boost::asio::io_context>'
    executor_.on_work_started();
    ~~~~~~~~~ ^
/usr/local/include/boost/asio/impl/executor.hpp:142:3: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::on_work_started' requested here
  impl(const Executor& e, const Allocator& a) BOOST_ASIO_NOEXCEPT
  ^
/usr/local/include/boost/asio/impl/executor.hpp:137:30: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::impl' requested here
    impl* p = new (mem.ptr_) impl(e, a);
                             ^
/usr/local/include/boost/asio/impl/executor.hpp:333:50: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::create' requested here
  : impl_(impl<Executor, std::allocator<void> >::create(e))
                                                 ^
/usr/include/c++/v1/memory:2103:18: note: in instantiation of function template specialization 'boost::asio::executor::executor<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
                 ^
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/usr/include/c++/v1/memory:2205:9: note: in instantiation of function template specialization 'std::__1::__compressed_pair_elem<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, 1, false>::__compressed_pair_elem<std::__1::reference_wrapper<boost::asio::io_context> &&, 0>' requested here
        _Base2(__pc, _VSTD::move(__second_args),
        ^
/usr/include/c++/v1/memory:3618:16: note: in instantiation of function template specialization 'std::__1::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > &, std::__1::reference_wrapper<boost::asio::io_context> &&>' requested here
            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
               ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > >::__shared_ptr_emplace<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::make_shared<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
Release/libs/websocketpp/websocketpp/transport/asio/security/none.hpp:171:25: note: in instantiation of function template specialization 'std::__1::make_shared<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::reference_wrapper<boost::asio::io_context> >' requested here
        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
                        ^
In file included from Release/src/websockets/client/ws_client_wspp.cpp:14:
In file included from Release/src/pch/stdafx.h:102:
In file included from Release/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:22:
In file included from /usr/local/include/boost/asio/ssl/stream.hpp:29:
In file included from /usr/local/include/boost/asio/ssl/detail/io.hpp:21:
In file included from /usr/local/include/boost/asio/ssl/detail/stream_core.hpp:21:
In file included from /usr/local/include/boost/asio/deadline_timer.hpp:24:
In file included from /usr/local/include/boost/asio/basic_deadline_timer.hpp:31:
In file included from /usr/local/include/boost/asio/executor.hpp:338:
/usr/local/include/boost/asio/impl/executor.hpp:174:15: error: no member named 'on_work_finished' in 'std::__1::reference_wrapper<boost::asio::io_context>'
    executor_.on_work_finished();
    ~~~~~~~~~ ^
/usr/local/include/boost/asio/impl/executor.hpp:142:3: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::on_work_finished' requested here
  impl(const Executor& e, const Allocator& a) BOOST_ASIO_NOEXCEPT
  ^
/usr/local/include/boost/asio/impl/executor.hpp:137:30: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::impl' requested here
    impl* p = new (mem.ptr_) impl(e, a);
                             ^
/usr/local/include/boost/asio/impl/executor.hpp:333:50: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::create' requested here
  : impl_(impl<Executor, std::allocator<void> >::create(e))
                                                 ^
/usr/include/c++/v1/memory:2103:18: note: in instantiation of function template specialization 'boost::asio::executor::executor<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
                 ^
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/usr/include/c++/v1/memory:2205:9: note: in instantiation of function template specialization 'std::__1::__compressed_pair_elem<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, 1, false>::__compressed_pair_elem<std::__1::reference_wrapper<boost::asio::io_context> &&, 0>' requested here
        _Base2(__pc, _VSTD::move(__second_args),
        ^
/usr/include/c++/v1/memory:3618:16: note: in instantiation of function template specialization 'std::__1::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > &, std::__1::reference_wrapper<boost::asio::io_context> &&>' requested here
            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
               ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > >::__shared_ptr_emplace<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::make_shared<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
Release/libs/websocketpp/websocketpp/transport/asio/security/none.hpp:171:25: note: in instantiation of function template specialization 'std::__1::make_shared<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::reference_wrapper<boost::asio::io_context> >' requested here
        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
                        ^
In file included from Release/src/websockets/client/ws_client_wspp.cpp:14:
In file included from Release/src/pch/stdafx.h:102:
In file included from Release/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:22:
In file included from /usr/local/include/boost/asio/ssl/stream.hpp:29:
In file included from /usr/local/include/boost/asio/ssl/detail/io.hpp:21:
In file included from /usr/local/include/boost/asio/ssl/detail/stream_core.hpp:21:
In file included from /usr/local/include/boost/asio/deadline_timer.hpp:24:
In file included from /usr/local/include/boost/asio/basic_deadline_timer.hpp:31:
In file included from /usr/local/include/boost/asio/executor.hpp:338:
/usr/local/include/boost/asio/impl/executor.hpp:184:15: error: no member named 'dispatch' in 'std::__1::reference_wrapper<boost::asio::io_context>'
    executor_.dispatch(BOOST_ASIO_MOVE_CAST(function)(f), allocator_);
    ~~~~~~~~~ ^
/usr/local/include/boost/asio/impl/executor.hpp:142:3: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::dispatch' requested here
  impl(const Executor& e, const Allocator& a) BOOST_ASIO_NOEXCEPT
  ^
/usr/local/include/boost/asio/impl/executor.hpp:137:30: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::impl' requested here
    impl* p = new (mem.ptr_) impl(e, a);
                             ^
/usr/local/include/boost/asio/impl/executor.hpp:333:50: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::create' requested here
  : impl_(impl<Executor, std::allocator<void> >::create(e))
                                                 ^
/usr/include/c++/v1/memory:2103:18: note: in instantiation of function template specialization 'boost::asio::executor::executor<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
                 ^
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/usr/include/c++/v1/memory:2205:9: note: in instantiation of function template specialization 'std::__1::__compressed_pair_elem<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, 1, false>::__compressed_pair_elem<std::__1::reference_wrapper<boost::asio::io_context> &&, 0>' requested here
        _Base2(__pc, _VSTD::move(__second_args),
        ^
/usr/include/c++/v1/memory:3618:16: note: in instantiation of function template specialization 'std::__1::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > &, std::__1::reference_wrapper<boost::asio::io_context> &&>' requested here
            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
               ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > >::__shared_ptr_emplace<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::make_shared<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
Release/libs/websocketpp/websocketpp/transport/asio/security/none.hpp:171:25: note: in instantiation of function template specialization 'std::__1::make_shared<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::reference_wrapper<boost::asio::io_context> >' requested here
        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
                        ^
In file included from Release/src/websockets/client/ws_client_wspp.cpp:14:
In file included from Release/src/pch/stdafx.h:102:
In file included from Release/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:22:
In file included from /usr/local/include/boost/asio/ssl/stream.hpp:29:
In file included from /usr/local/include/boost/asio/ssl/detail/io.hpp:21:
In file included from /usr/local/include/boost/asio/ssl/detail/stream_core.hpp:21:
In file included from /usr/local/include/boost/asio/deadline_timer.hpp:24:
In file included from /usr/local/include/boost/asio/basic_deadline_timer.hpp:31:
In file included from /usr/local/include/boost/asio/executor.hpp:338:
/usr/local/include/boost/asio/impl/executor.hpp:189:15: error: no member named 'post' in 'std::__1::reference_wrapper<boost::asio::io_context>'
    executor_.post(BOOST_ASIO_MOVE_CAST(function)(f), allocator_);
    ~~~~~~~~~ ^
/usr/local/include/boost/asio/impl/executor.hpp:142:3: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::post' requested here
  impl(const Executor& e, const Allocator& a) BOOST_ASIO_NOEXCEPT
  ^
/usr/local/include/boost/asio/impl/executor.hpp:137:30: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::impl' requested here
    impl* p = new (mem.ptr_) impl(e, a);
                             ^
/usr/local/include/boost/asio/impl/executor.hpp:333:50: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::create' requested here
  : impl_(impl<Executor, std::allocator<void> >::create(e))
                                                 ^
/usr/include/c++/v1/memory:2103:18: note: in instantiation of function template specialization 'boost::asio::executor::executor<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
                 ^
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/usr/include/c++/v1/memory:2205:9: note: in instantiation of function template specialization 'std::__1::__compressed_pair_elem<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, 1, false>::__compressed_pair_elem<std::__1::reference_wrapper<boost::asio::io_context> &&, 0>' requested here
        _Base2(__pc, _VSTD::move(__second_args),
        ^
/usr/include/c++/v1/memory:3618:16: note: in instantiation of function template specialization 'std::__1::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > &, std::__1::reference_wrapper<boost::asio::io_context> &&>' requested here
            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
               ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > >::__shared_ptr_emplace<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::make_shared<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
Release/libs/websocketpp/websocketpp/transport/asio/security/none.hpp:171:25: note: in instantiation of function template specialization 'std::__1::make_shared<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::reference_wrapper<boost::asio::io_context> >' requested here
        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
                        ^
In file included from Release/src/websockets/client/ws_client_wspp.cpp:14:
In file included from Release/src/pch/stdafx.h:102:
In file included from Release/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:22:
In file included from /usr/local/include/boost/asio/ssl/stream.hpp:29:
In file included from /usr/local/include/boost/asio/ssl/detail/io.hpp:21:
In file included from /usr/local/include/boost/asio/ssl/detail/stream_core.hpp:21:
In file included from /usr/local/include/boost/asio/deadline_timer.hpp:24:
In file included from /usr/local/include/boost/asio/basic_deadline_timer.hpp:31:
In file included from /usr/local/include/boost/asio/executor.hpp:338:
/usr/local/include/boost/asio/impl/executor.hpp:194:15: error: no member named 'defer' in 'std::__1::reference_wrapper<boost::asio::io_context>'
    executor_.defer(BOOST_ASIO_MOVE_CAST(function)(f), allocator_);
    ~~~~~~~~~ ^
/usr/local/include/boost/asio/impl/executor.hpp:142:3: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::defer' requested here
  impl(const Executor& e, const Allocator& a) BOOST_ASIO_NOEXCEPT
  ^
/usr/local/include/boost/asio/impl/executor.hpp:137:30: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::impl' requested here
    impl* p = new (mem.ptr_) impl(e, a);
                             ^
/usr/local/include/boost/asio/impl/executor.hpp:333:50: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::create' requested here
  : impl_(impl<Executor, std::allocator<void> >::create(e))
                                                 ^
/usr/include/c++/v1/memory:2103:18: note: in instantiation of function template specialization 'boost::asio::executor::executor<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
                 ^
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/usr/include/c++/v1/memory:2205:9: note: in instantiation of function template specialization 'std::__1::__compressed_pair_elem<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, 1, false>::__compressed_pair_elem<std::__1::reference_wrapper<boost::asio::io_context> &&, 0>' requested here
        _Base2(__pc, _VSTD::move(__second_args),
        ^
/usr/include/c++/v1/memory:3618:16: note: in instantiation of function template specialization 'std::__1::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > &, std::__1::reference_wrapper<boost::asio::io_context> &&>' requested here
            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
               ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > >::__shared_ptr_emplace<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::make_shared<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
Release/libs/websocketpp/websocketpp/transport/asio/security/none.hpp:171:25: note: in instantiation of function template specialization 'std::__1::make_shared<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::reference_wrapper<boost::asio::io_context> >' requested here
        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
                        ^
In file included from Release/src/websockets/client/ws_client_wspp.cpp:14:
In file included from Release/src/pch/stdafx.h:102:
In file included from Release/include/cpprest/http_client.h:68:
In file included from /usr/local/include/boost/asio/ssl.hpp:22:
In file included from /usr/local/include/boost/asio/ssl/stream.hpp:29:
In file included from /usr/local/include/boost/asio/ssl/detail/io.hpp:21:
In file included from /usr/local/include/boost/asio/ssl/detail/stream_core.hpp:21:
In file included from /usr/local/include/boost/asio/deadline_timer.hpp:24:
In file included from /usr/local/include/boost/asio/basic_deadline_timer.hpp:31:
In file included from /usr/local/include/boost/asio/executor.hpp:338:
/usr/local/include/boost/asio/impl/executor.hpp:218:22: error: invalid operands to binary expression ('const std::__1::reference_wrapper<boost::asio::io_context>' and 'const std::__1::reference_wrapper<boost::asio::io_context>')
    return executor_ == *static_cast<const Executor*>(e->target());
           ~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/asio/impl/executor.hpp:142:3: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::equals' requested here
  impl(const Executor& e, const Allocator& a) BOOST_ASIO_NOEXCEPT
  ^
/usr/local/include/boost/asio/impl/executor.hpp:137:30: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::impl' requested here
    impl* p = new (mem.ptr_) impl(e, a);
                             ^
/usr/local/include/boost/asio/impl/executor.hpp:333:50: note: in instantiation of member function 'boost::asio::executor::impl<std::__1::reference_wrapper<boost::asio::io_context>, std::__1::allocator<void> >::create' requested here
  : impl_(impl<Executor, std::allocator<void> >::create(e))
                                                 ^
/usr/include/c++/v1/memory:2103:18: note: in instantiation of function template specialization 'boost::asio::executor::executor<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
      : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {}
                 ^
/usr/include/c++/v1/__config:447:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/usr/include/c++/v1/memory:2205:9: note: in instantiation of function template specialization 'std::__1::__compressed_pair_elem<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, 1, false>::__compressed_pair_elem<std::__1::reference_wrapper<boost::asio::io_context> &&, 0>' requested here
        _Base2(__pc, _VSTD::move(__second_args),
        ^
/usr/include/c++/v1/memory:3618:16: note: in instantiation of function template specialization 'std::__1::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::__compressed_pair<std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > &, std::__1::reference_wrapper<boost::asio::io_context> &&>' requested here
            :  __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),
               ^
/usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::allocator<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> > >::__shared_ptr_emplace<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::make_shared<std::__1::reference_wrapper<boost::asio::io_context> >' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
Release/libs/websocketpp/websocketpp/transport/asio/security/none.hpp:171:25: note: in instantiation of function template specialization 'std::__1::make_shared<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, std::__1::reference_wrapper<boost::asio::io_context> >' requested here
        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
                        ^
/usr/include/c++/v1/system_error:577:1: note: candidate function not viable: no known conversion from 'const std::__1::reference_wrapper<boost::asio::io_context>' to 'const std::__1::error_code' for 1st argument
operator==(const error_code& __x, const error_code& __y) _NOEXCEPT
^
/usr/include/c++/v1/system_error:584:1: note: candidate function not viable: no known conversion from 'const std::__1::reference_wrapper<boost::asio::io_context>' to 'const std::__1::error_code' for 1st argument
operator==(const error_code& __x, const error_condition& __y) _NOEXCEPT
^
/usr/include/c++/v1/system_error:592:1: note: candidate function not viable: no known conversion from 'const std::__1::reference_wrapper<boost::asio::io_context>' to 'const std::__1::error_condition' for 1st argument
operator==(const error_condition& __x, const error_code& __y) _NOEXCEPT
^
/usr/include/c++/v1/system_error:599:1: note: candidate function not viable: no known conversion from 'const std::__1::reference_wrapper<boost::asio::io_context>' to 'const std::__1::error_condition' for 1st argument
operator==(const error_condition& __x, const error_condition& __y) _NOEXCEPT
^
/usr/include/c++/v1/utility:556:1: note: candidate template ignored: could not match 'pair' against 'reference_wrapper'
operator==(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
^
/usr/include/c++/v1/iterator:694:1: note: candidate template ignored: could not match 'reverse_iterator' against 'reference_wrapper'
operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
^
/usr/include/c++/v1/iterator:923:1: note: candidate template ignored: could not match 'istream_iterator' against 'reference_wrapper'
operator==(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
^
/usr/include/c++/v1/iterator:1027:6: note: candidate template ignored: could not match 'istreambuf_iterator' against 'reference_wrapper'
bool operator==(const istreambuf_iterator<_CharT,_Traits>& __a,
     ^
/usr/include/c++/v1/iterator:1135:1: note: candidate template ignored: could not match 'move_iterator' against 'reference_wrapper'
operator==(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
^
/usr/include/c++/v1/iterator:1430:5: note: candidate template ignored: could not match '__wrap_iter' against 'reference_wrapper'
    operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
    ^
/usr/include/c++/v1/tuple:1144:1: note: candidate template ignored: could not match 'tuple' against 'reference_wrapper'
operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
^
/usr/include/c++/v1/memory:1961:6: note: candidate template ignored: could not match 'allocator' against 'reference_wrapper'
bool operator==(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return true;}
     ^
/usr/include/c++/v1/memory:2910:1: note: candidate template ignored: could not match 'unique_ptr' against 'reference_wrapper'
operator==(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return __x.get() == __y.get();}
^
/usr/include/c++/v1/memory:2946:1: note: candidate template ignored: could not match 'unique_ptr' against 'reference_wrapper'
operator==(const unique_ptr<_T1, _D1>& __x, nullptr_t) _NOEXCEPT
^
/usr/include/c++/v1/memory:2954:1: note: candidate template ignored: could not match 'unique_ptr' against 'reference_wrapper'
operator==(nullptr_t, const unique_ptr<_T1, _D1>& __x) _NOEXCEPT
^
/usr/include/c++/v1/memory:4742:1: note: candidate template ignored: could not match 'shared_ptr' against 'reference_wrapper'
operator==(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
^
/usr/include/c++/v1/memory:4791:1: note: candidate template ignored: could not match 'shared_ptr' against 'reference_wrapper'
operator==(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
^
/usr/include/c++/v1/memory:4799:1: note: candidate template ignored: could not match 'shared_ptr' against 'reference_wrapper'
operator==(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
^
/usr/include/c++/v1/string_view:611:6: note: candidate template ignored: could not match 'basic_string_view' against 'reference_wrapper'
bool operator==(basic_string_view<_CharT, _Traits> __lhs,
     ^
/usr/include/c++/v1/string_view:620:6: note: candidate template ignored: could not match 'basic_string_view' against 'reference_wrapper'
bool operator==(basic_string_view<_CharT, _Traits> __lhs,
     ^
/usr/include/c++/v1/string_view:629:6: note: candidate template ignored: could not match 'basic_string_view' against 'reference_wrapper'
bool operator==(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
     ^
/usr/include/c++/v1/string:535:6: note: candidate template ignored: could not match 'fpos' against 'reference_wrapper'
bool operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y)
     ^
/usr/include/c++/v1/string:3564:1: note: candidate template ignored: could not match 'basic_string' against 'reference_wrapper'
operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
^
/usr/include/c++/v1/string:3576:1: note: candidate template ignored: could not match 'basic_string' against 'reference_wrapper'
operator==(const basic_string<char, char_traits<char>, _Allocator>& __lhs,
^
/usr/include/c++/v1/string:3595:1: note: candidate template ignored: could not match 'const _CharT *' against 'std::__1::reference_wrapper<boost::asio::io_context>'
operator==(const _CharT* __lhs,
^
/usr/include/c++/v1/string:3608:1: note: candidate template ignored: could not match 'basic_string' against 'reference_wrapper'
operator==(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
^
/usr/local/include/boost/bind/arg.hpp:48:40: note: candidate template ignored: could not match 'arg' against 'reference_wrapper'
template< int I > BOOST_CONSTEXPR bool operator==( arg<I> const &, arg<I> const & )
                                       ^
/usr/include/c++/v1/functional:1955:1: note: candidate template ignored: could not match 'function' against 'reference_wrapper'
operator==(const function<_Rp(_ArgTypes...)>& __f, nullptr_t) _NOEXCEPT {return !__f;}
^
/usr/include/c++/v1/functional:1960:1: note: candidate template ignored: could not match 'function' against 'reference_wrapper'
operator==(nullptr_t, const function<_Rp(_ArgTypes...)>& __f) _NOEXCEPT {return !__f;}
^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:823:40: note: candidate template ignored: could not match 'shared_ptr' against 'reference_wrapper'
template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_SP_NOEXCEPT
                                       ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:846:31: note: candidate template ignored: could not match 'shared_ptr' against 'reference_wrapper'
template<class T> inline bool operator==( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
                              ^
/usr/local/include/boost/smart_ptr/shared_ptr.hpp:851:31: note: candidate template ignored: could not match 'shared_ptr' against 'reference_wrapper'
template<class T> inline bool operator==( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT
                              ^
/usr/include/c++/v1/map:1398:1: note: candidate template ignored: could not match 'map' against 'reference_wrapper'
operator==(const map<_Key, _Tp, _Compare, _Allocator>& __x,
^
/usr/include/c++/v1/map:1863:1: note: candidate template ignored: could not match 'multimap' against 'reference_wrapper'
operator==(const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
^
/usr/include/c++/v1/vector:3309:1: note: candidate template ignored: could not match 'vector' against 'reference_wrapper'
operator==(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
^
/usr/include/c++/v1/array:233:1: note: candidate template ignored: could not match 'array' against 'reference_wrapper'
operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
^
/usr/include/c++/v1/random:2139:5: note: candidate template ignored: could not match 'mersenne_twister_engine' against 'reference_wrapper'
    operator==(const mersenne_twister_engine<_UInt, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
    ^
/usr/include/c++/v1/random:2719:1: note: candidate template ignored: could not match 'subtract_with_carry_engine' against 'reference_wrapper'
operator==(
^
/usr/include/c++/v1/random:2937:1: note: candidate template ignored: could not match 'discard_block_engine' against 'reference_wrapper'
operator==(const discard_block_engine<_Eng, _Pp, _Rp>& __x,
^
/usr/include/c++/v1/random:3188:1: note: candidate template ignored: could not match 'independent_bits_engine' against 'reference_wrapper'
operator==(
^
/usr/include/c++/v1/random:3419:1: note: candidate template ignored: could not match 'shuffle_order_engine' against 'reference_wrapper'
operator==(
^
/usr/include/c++/v1/unordered_map:1465:1: note: candidate template ignored: could not match 'unordered_map' against 'reference_wrapper'
operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
^
/usr/include/c++/v1/unordered_map:2011:1: note: candidate template ignored: could not match 'unordered_multimap' against 'reference_wrapper'
operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
^
/usr/include/c++/v1/deque:2851:1: note: candidate template ignored: could not match 'deque' against 'reference_wrapper'
operator==(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
^
/usr/include/c++/v1/queue:315:5: note: candidate template ignored: could not match 'queue' against 'reference_wrapper'
    operator==(const queue<_T1, _C1>& __x,const queue<_T1, _C1>& __y);
    ^
7 errors generated.
@garethsb
Copy link
Contributor

garethsb commented Mar 7, 2019

Am I missing something or is that error entirely down to code inside Boost.ASIO, nothing to do with cpprestsdk?

Also, if you're going to test bleeding-edge Boost, probably best not to do so against the two-and-a-half year old cpprestsdk v2.9.1!

@jbeich
Copy link
Author

jbeich commented Mar 7, 2019

Am I missing something or is that error entirely down to code inside
Boost.ASIO, nothing to do with cpprestsdk?

After reporting to Boost the issue is now tracked as zaphoyd/websocketpp#794

Also, if you're going to test bleeding-edge Boost, probably best not
to do so against the two-and-a-half year old cpprestsdk v2.9.1!

The issue was noticed via automation but before reporting I did try master branch, from where the above error is quoted.

@jbeich jbeich closed this as completed Mar 7, 2019
@garethsb
Copy link
Contributor

garethsb commented Mar 7, 2019

@jbeich thanks for the explanation. Looks like the right people are on the case!

@Clovel
Copy link
Contributor

Clovel commented Apr 5, 2020

It seems I still have this issue on macOS 10.15.4 when trying to compile cpprestsdk, with the following Home-brew installation of boost :

boost: stable 1.72.0 (bottled), HEAD
Collection of portable C++ source libraries
https://www.boost.org/
/usr/local/Cellar/boost/1.72.0_1 (14,466 files, 648.5MB) *
  Poured from bottle on 2020-04-04 at 23:58:49
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/boost.rb
==> Dependencies
Required: icu4c ✔
==> Options
--HEAD
        Install HEAD version
==> Analytics
install: 49,096 (30 days), 129,510 (90 days), 545,286 (365 days)
install-on-request: 17,078 (30 days), 45,323 (90 days), 189,799 (365 days)
build-error: 0 (30 days)

@zeetabit
Copy link

zeetabit commented May 4, 2020

same issue on macOS 10.15.4

@garethsb
Copy link
Contributor

garethsb commented May 4, 2020

@zeetabit Finally resolved in cpprestsdk 2.10.16, I believe.

@zeetabit
Copy link

zeetabit commented May 4, 2020

It works for me, thanks!

@JingweiZhangBoston
Copy link

I have this issue on Ubuntu 18.04.4. My boost version is 1.71.0

@c72578
Copy link
Contributor

c72578 commented May 29, 2020

@JingweiZhangBoston Which version of cpprestsdk and websocketpp are you using?

@JingweiZhangBoston
Copy link

@JingweiZhangBoston Which version of cpprestsdk and websocketpp are you using?

@c72578 My cpprestsdk version is 2.10.16, websocketpp version is 0.7.0

@c72578
Copy link
Contributor

c72578 commented May 29, 2020

@JingweiZhangBoston OK, websocketpp 0.7.0 is not compatible (without patching) with boost 1.71.0.
If you checkout the git version of cpprestsdk, you can use the submodule websocketpp, which is version 0.8.2 and works with boost 1.71.0.
Uninstall websocketpp 0.7.0, then run

git clone https://github.com/microsoft/cpprestsdk.git
cd cpprestsdk
git submodule update --init

websocketpp 0.8.2 will then be in this subfolder:
cpprestsdk/Release/libs/websocketpp
And it will be automatically used, when building cpprestsdk

@JingweiZhangBoston
Copy link

@JingweiZhangBoston OK, websocketpp 0.7.0 is not compatible (without patching) with boost 1.71.0.
If you checkout the git version of cpprestsdk, you can use the submodule websocketpp, which is version 0.8.2 and works with boost 1.71.0.
Uninstall websocketpp 0.7.0, then run

git clone https://github.com/microsoft/cpprestsdk.git
cd cpprestsdk
git submodule update --init

websocketpp 0.8.2 will then be in this subfolder:
cpprestsdk/Release/libs/websocketpp
And it will be automatically used, when building cpprestsdk

Upgrade websocketpp to 0.8.2 works. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants