Skip to content
New issue

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

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

Already on GitHub? # to your account

Compilation fails with Boost 1.71 #336

Closed
FreddieChopin opened this issue Nov 23, 2019 · 2 comments
Closed

Compilation fails with Boost 1.71 #336

FreddieChopin opened this issue Nov 23, 2019 · 2 comments
Labels

Comments

@FreddieChopin
Copy link

OS: Arch Linux (Linux 5.3.11-arch1-1 #1 SMP PREEMPT Tue, 12 Nov 2019 22:19:48 +0000 x86_64 GNU/Linux)
Boost: 1.71.0
websocketpp: 0.8.1

When trying to build the most recent airdcpp (or previous version) with new boost libraries, the build fails with:

[ 63%] Building CXX object airdcpp-webapi/CMakeFiles/airdcpp-webapi.dir/api/FavoriteHubUtils.cpp.o
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘boost::asio::execution_context& boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::context() [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:177:22:   required from here
/usr/include/boost/asio/impl/executor.hpp:179:22: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘context’
  179 |     return executor_.context();
      |            ~~~~~~~~~~^~~~~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘void boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::on_work_started() [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:167:8:   required from here
/usr/include/boost/asio/impl/executor.hpp:169:15: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘on_work_started’
  169 |     executor_.on_work_started();
      |     ~~~~~~~~~~^~~~~~~~~~~~~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘void boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::on_work_finished() [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:172:8:   required from here
/usr/include/boost/asio/impl/executor.hpp:174:15: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘on_work_finished’
  174 |     executor_.on_work_finished();
      |     ~~~~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘void boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::dispatch(boost::asio::executor::function&&) [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:182:8:   required from here
/usr/include/boost/asio/impl/executor.hpp:184:15: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘dispatch’
  184 |     executor_.dispatch(BOOST_ASIO_MOVE_CAST(function)(f), allocator_);
      |     ~~~~~~~~~~^~~~~~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘void boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::post(boost::asio::executor::function&&) [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:187:8:   required from here
/usr/include/boost/asio/impl/executor.hpp:189:15: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘post’
  189 |     executor_.post(BOOST_ASIO_MOVE_CAST(function)(f), allocator_);
      |     ~~~~~~~~~~^~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘void boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::defer(boost::asio::executor::function&&) [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:192:8:   required from here
/usr/include/boost/asio/impl/executor.hpp:194:15: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘defer’
  194 |     executor_.defer(BOOST_ASIO_MOVE_CAST(function)(f), allocator_);
      |     ~~~~~~~~~~^~~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘bool boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::equals(const boost::asio::executor::impl_base*) const [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:212:8:   required from here
/usr/include/boost/asio/impl/executor.hpp:218:22: error: no match for ‘operator==’ (operand types are ‘const std::reference_wrapper<boost::asio::io_context>’ and ‘const std::reference_wrapper<boost::asio::io_context>’)
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/range/iterator_range.hpp:13,
                 from /usr/include/boost/range/detail/range_return.hpp:14,
                 from /usr/include/boost/range/algorithm/find_if.hpp:16,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:81,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/range/iterator_range_core.hpp:585:9: note: candidate: ‘template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator==(const ForwardRange&, const boost::iterator_range<IteratorT>&)’
  585 |         operator==( const ForwardRange& l, const iterator_range<IteratorT>& r )
      |         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:585:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::iterator_range<IteratorT>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/range/iterator_range.hpp:13,
                 from /usr/include/boost/range/detail/range_return.hpp:14,
                 from /usr/include/boost/range/algorithm/find_if.hpp:16,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:81,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/range/iterator_range_core.hpp:644:9: note: candidate: ‘template<class Iterator1T, class Iterator2T> bool boost::operator==(const boost::iterator_range<IteratorT>&, const boost::iterator_range<Iterator2T>&)’
  644 |         operator==( const iterator_range<Iterator1T>& l, const iterator_range<Iterator2T>& r )
      |         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:644:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::iterator_range<IteratorT>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/range/iterator_range.hpp:13,
                 from /usr/include/boost/range/detail/range_return.hpp:14,
                 from /usr/include/boost/range/algorithm/find_if.hpp:16,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:81,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/range/iterator_range_core.hpp:654:9: note: candidate: ‘template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator==(const boost::iterator_range<IteratorT>&, const ForwardRange&)’
  654 |         operator==( const iterator_range<IteratorT>& l, const ForwardRange& r )
      |         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:654:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::iterator_range<IteratorT>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/time_clock.hpp:17,
                 from /usr/include/boost/thread/thread_time.hpp:9,
                 from /usr/include/boost/thread/lock_types.hpp:18,
                 from /usr/include/boost/thread/pthread/mutex.hpp:16,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:85,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/smart_ptr/shared_ptr.hpp:823:40: note: candidate: ‘template<class T, class U> bool boost::operator==(const boost::shared_ptr<X>&, const boost::shared_ptr<U>&)’
  823 | template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_SP_NOEXCEPT
      |                                        ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:823:40: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::shared_ptr<X>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/time_clock.hpp:17,
                 from /usr/include/boost/thread/thread_time.hpp:9,
                 from /usr/include/boost/thread/lock_types.hpp:18,
                 from /usr/include/boost/thread/pthread/mutex.hpp:16,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:85,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/smart_ptr/shared_ptr.hpp:846:31: note: candidate: ‘template<class T> bool boost::operator==(const boost::shared_ptr<X>&, boost::detail::sp_nullptr_t)’
  846 | template<class T> inline bool operator==( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
      |                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:846:31: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::shared_ptr<X>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/time_clock.hpp:17,
                 from /usr/include/boost/thread/thread_time.hpp:9,
                 from /usr/include/boost/thread/lock_types.hpp:18,
                 from /usr/include/boost/thread/pthread/mutex.hpp:16,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:85,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/smart_ptr/shared_ptr.hpp:851:31: note: candidate: ‘template<class T> bool boost::operator==(boost::detail::sp_nullptr_t, const boost::shared_ptr<X>&)’
  851 | template<class T> inline bool operator==( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT
      |                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:851:31: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::shared_ptr<X>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/scoped_array.hpp:13,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:87,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/smart_ptr/scoped_array.hpp:103:31: note: candidate: ‘template<class T> bool boost::operator==(const boost::scoped_array<T>&, boost::detail::sp_nullptr_t)’
  103 | template<class T> inline bool operator==( scoped_array<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
      |                               ^~~~~~~~
/usr/include/boost/smart_ptr/scoped_array.hpp:103:31: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::scoped_array<T>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/scoped_array.hpp:13,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:87,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/smart_ptr/scoped_array.hpp:108:31: note: candidate: ‘template<class T> bool boost::operator==(boost::detail::sp_nullptr_t, const boost::scoped_array<T>&)’
  108 | template<class T> inline bool operator==( boost::detail::sp_nullptr_t, scoped_array<T> const & p ) BOOST_SP_NOEXCEPT
      |                               ^~~~~~~~
/usr/include/boost/smart_ptr/scoped_array.hpp:108:31: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::scoped_array<T>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/scoped_ptr.hpp:13,
                 from /usr/include/boost/regex/v4/regex_workaround.hpp:42,
                 from /usr/include/boost/regex/v4/regex.hpp:32,
                 from /usr/include/boost/regex.hpp:31,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:89,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/smart_ptr/scoped_ptr.hpp:127:31: note: candidate: ‘template<class T> bool boost::operator==(const boost::scoped_ptr<T>&, boost::detail::sp_nullptr_t)’
  127 | template<class T> inline bool operator==( scoped_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
      |                               ^~~~~~~~
/usr/include/boost/smart_ptr/scoped_ptr.hpp:127:31: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::scoped_ptr<T>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/scoped_ptr.hpp:13,
                 from /usr/include/boost/regex/v4/regex_workaround.hpp:42,
                 from /usr/include/boost/regex/v4/regex.hpp:32,
                 from /usr/include/boost/regex.hpp:31,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:89,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/smart_ptr/scoped_ptr.hpp:132:31: note: candidate: ‘template<class T> bool boost::operator==(boost::detail::sp_nullptr_t, const boost::scoped_ptr<T>&)’
  132 | template<class T> inline bool operator==( boost::detail::sp_nullptr_t, scoped_ptr<T> const & p ) BOOST_SP_NOEXCEPT
      |                               ^~~~~~~~
/usr/include/boost/smart_ptr/scoped_ptr.hpp:132:31: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const boost::scoped_ptr<T>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/regex/v4/regex.hpp:76,
                 from /usr/include/boost/regex.hpp:31,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:89,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/regex/v4/sub_match.hpp:198:13: note: candidate: ‘template<class RandomAccessIterator, class traits, class Allocator> bool boost::operator==(const std::__cxx11::basic_string<typename boost::re_detail_107100::regex_iterator_traits<BidiIterator>::value_type, traits, Allocator>&, const boost::sub_match<RandomAccessIterator>&)’
  198 | inline bool operator == (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
      |             ^~~~~~~~
/usr/include/boost/regex/v4/sub_match.hpp:198:13: note:   template argument deduction/substitution failed:
In file included from /usr/include/boost/asio/executor.hpp:338,
                 from /usr/include/boost/asio/basic_waitable_timer.hpp:27,
                 from /usr/include/boost/asio/steady_timer.hpp:22,
                 from /usr/include/websocketpp/common/asio.hpp:61,
                 from /usr/include/websocketpp/transport/asio/base.hpp:31,
                 from /usr/include/websocketpp/transport/asio/connection.hpp:31,
                 from /usr/include/websocketpp/transport/asio/endpoint.hpp:32,
                 from /usr/include/websocketpp/config/asio.hpp:32,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:52,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/asio/impl/executor.hpp:218:22: note:   ‘const std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘const std::__cxx11::basic_string<typename boost::re_detail_107100::regex_iterator_traits<BidiIterator>::value_type, traits, Allocator>’
  218 |     return executor_ == *static_cast<const Executor*>(e->target());
      |            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/regex/v4/regex.hpp:76,
                 from /usr/include/boost/regex.hpp:31,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-core/airdcpp/stdinc.h:89,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/stdinc.h:44,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.cxx:4,
                 from /home/freddie/.cache/yay/airdcpp-webclient/src/airdcpp-webclient-2.7.0/airdcpp-webapi/cotire/airdcpp-webapi_CXX_prefix.hxx:4:
/usr/include/boost/regex/v4/sub_match.hpp:223:13: note: candidate: ‘template<class RandomAccessIterator, class traits, class Allocator> bool boost::operator==(const boost::sub_match<RandomAccessIterator>&, const std::__cxx11::basic_string<typename boost::re_detail_107100::regex_iterator_traits<BidiIterator>::value_type, traits, Allocator>&)’
  223 | inline bool operator == (const sub_match<RandomAccessIterator>& m,
      |             ^~~~~~~~
...

(I can post the full output, but this goes on FOREVER - above part is maybe 5%)

This seems to be a common issue among other projects, for example - zaphoyd/websocketpp#794 Searching google for "error: ‘class std::reference_wrapperboost::asio::io_context’ has no member named ‘context’" gives quite a lot of similar issues - the one linked above is probably the most relevant.

@maksis
Copy link
Member

maksis commented Nov 23, 2019

Yeah, this is an issue with websocketpp, as it's not compatible with Boost 1.71. I don't think that there's anything that can be done in this project.

@FreddieChopin
Copy link
Author

OK, fortunately airdcpp builds fine when using "develop" branch of websocketpp. Maybe - at least for now - it would be a good idea to put that info somewhere?

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

No branches or pull requests

2 participants