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

Can't compile anything with latest version of standalone asio #794

Closed
yourWaifu opened this issue Feb 21, 2019 · 13 comments
Closed

Can't compile anything with latest version of standalone asio #794

yourWaifu opened this issue Feb 21, 2019 · 13 comments

Comments

@yourWaifu
Copy link

I'm compiling with gcc 7.3.0 on Ubuntu 18.04

I'm using the latest master branch of websocketpp
and standalone asio from here https://github.com/chriskohlhoff/asio/tree/84e9a48ae6ff040311dfdd9bd4b8e761832509fd

I'm not sure if you can fix this or it's an issue with asio but I want to let you know about this.

Here's my code:
example0.cpp

#define ASIO_STANDALONE
#include <websocketpp/config/asio_client.hpp>

int main() {
	return 0;
}

CMakeList.txt

cmake_minimum_required (VERSION 3.6)
project(example)

add_executable(hello-example
	example0.cpp
)

target_include_directories(hello-example PUBLIC /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/)
target_include_directories(hello-example PUBLIC /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/)
find_package(Threads REQUIRED)
target_link_libraries(hello-example PUBLIC ssl crypto Threads::Threads)

Here's the Errors:

hao-qi@hao-qi-XPS-13-9370:~/Documents/repositories/sleepy-discord-private/examples/hello/build$ cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/build
hao-qi@hao-qi-XPS-13-9370:~/Documents/repositories/sleepy-discord-private/examples/hello/build$ make
Scanning dependencies of target hello-example
[ 50%] Building CXX object CMakeFiles/hello-example.dir/example0.cpp.o
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp: In instantiation of ‘asio::execution_context& asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::context() [with Executor = std::reference_wrapper<asio::io_context>; Allocator = std::allocator<void>]’:
/home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:6:1:   required from here
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:178:22: error: ‘class std::reference_wrapper<asio::io_context>’ has no member named ‘context’
     return executor_.context();
            ~~~~~~~~~~^~~~~~~
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp: In instantiation of ‘void asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::on_work_started() [with Executor = std::reference_wrapper<asio::io_context>; Allocator = std::allocator<void>]’:
/home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:6:1:   required from here
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:168:15: error: ‘class std::reference_wrapper<asio::io_context>’ has no member named ‘on_work_started’
     executor_.on_work_started();
     ~~~~~~~~~~^~~~~~~~~~~~~~~
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp: In instantiation of ‘void asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::on_work_finished() [with Executor = std::reference_wrapper<asio::io_context>; Allocator = std::allocator<void>]’:
/home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:6:1:   required from here
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:173:15: error: ‘class std::reference_wrapper<asio::io_context>’ has no member named ‘on_work_finished’
     executor_.on_work_finished();
     ~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp: In instantiation of ‘void asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::dispatch(asio::executor::function&&) [with Executor = std::reference_wrapper<asio::io_context>; Allocator = std::allocator<void>]’:
/home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:6:1:   required from here
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:183:15: error: ‘class std::reference_wrapper<asio::io_context>’ has no member named ‘dispatch’
     executor_.dispatch(ASIO_MOVE_CAST(function)(f), allocator_);
     ~~~~~~~~~~^~~~~~~~
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp: In instantiation of ‘void asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::post(asio::executor::function&&) [with Executor = std::reference_wrapper<asio::io_context>; Allocator = std::allocator<void>]’:
/home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:6:1:   required from here
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:188:15: error: ‘class std::reference_wrapper<asio::io_context>’ has no member named ‘post’
     executor_.post(ASIO_MOVE_CAST(function)(f), allocator_);
     ~~~~~~~~~~^~~~
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp: In instantiation of ‘void asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::defer(asio::executor::function&&) [with Executor = std::reference_wrapper<asio::io_context>; Allocator = std::allocator<void>]’:
/home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:6:1:   required from here
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:193:15: error: ‘class std::reference_wrapper<asio::io_context>’ has no member named ‘defer’
     executor_.defer(ASIO_MOVE_CAST(function)(f), allocator_);
     ~~~~~~~~~~^~~~~
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp: In instantiation of ‘bool asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::equals(const asio::executor::impl_base*) const [with Executor = std::reference_wrapper<asio::io_context>; Allocator = std::allocator<void>]’:
/home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:6:1:   required from here
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: error: no match for ‘operator==’ (operand types are ‘const std::reference_wrapper<asio::io_context>’ and ‘const std::reference_wrapper<asio::io_context>’)
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/iterator:66:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/buffers_iterator.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:43,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stream_iterator.h:130:5: note: candidate: template<class _Tp, class _CharT, class _Traits, class _Dist> bool std::operator==(const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&, const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&)
     operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stream_iterator.h:130:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/random:51:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/random.hpp:54,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/random/random_device.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:58,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/random.tcc:1878:5: note: candidate: template<class _RealType1> bool std::operator==(const std::normal_distribution<_RealType>&, const std::normal_distribution<_RealType>&)
     operator==(const std::normal_distribution<_RealType>& __d1,
     ^~~~~~~~
/usr/include/c++/7/bits/random.tcc:1878:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::normal_distribution<_RealType>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/map:62:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/parser.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/request.hpp:34,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:47,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_multimap.h:1061:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator==(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_multimap.h:1061:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/map:61:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/parser.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/request.hpp:34,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:47,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_map.h:1395:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator==(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_map.h:1395:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/map:60:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/parser.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/request.hpp:34,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:47,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_tree.h:1533:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator==(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:1533:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/map:60:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/parser.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/http/request.hpp:34,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:47,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_tree.h:406:5: note: candidate: template<class _Val> bool std::operator==(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
     operator==(const _Rb_tree_iterator<_Val>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:406:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::_Rb_tree_iterator<_Tp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/locale_facets.h:48:0,
                 from /usr/include/c++/7/bits/basic_ios.h:37,
                 from /usr/include/c++/7/ios:44,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/uri.hpp:37,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/iostream/connection.hpp:35,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/iostream/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:44,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/streambuf_iterator.h:204:5: note: candidate: template<class _CharT, class _Traits> bool std::operator==(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^~~~~~~~
/usr/include/c++/7/bits/streambuf_iterator.h:204:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:64:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/iostream/base.hpp:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/iostream/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/iostream/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:44,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_vector.h:1596:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator==(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:1596:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::vector<_Tp, _Alloc>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/functional:58:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/functional.hpp:53,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/base/endpoint.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/iostream/endpoint.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:44,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/std_function.h:770:5: note: candidate: template<class _Res, class ... _Args> bool std::operator==(std::nullptr_t, const std::function<_Res(_ArgTypes ...)>&)
     operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/std_function.h:770:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/functional:58:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/functional.hpp:53,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/base/endpoint.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/iostream/endpoint.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:44,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/std_function.h:764:5: note: candidate: template<class _Res, class ... _Args> bool std::operator==(const std::function<_Res(_ArgTypes ...)>&, std::nullptr_t)
     operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/std_function.h:764:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/mutex:42:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:60,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/system_error:311:3: note: candidate: bool std::operator==(const std::error_condition&, const std::error_condition&)
   operator==(const error_condition& __lhs,
   ^~~~~~~~
/usr/include/c++/7/system_error:311:3: note:   no known conversion for argument 1 from ‘const std::reference_wrapper<asio::io_context>’ to ‘const std::error_condition&’
/usr/include/c++/7/system_error:304:3: note: candidate: bool std::operator==(const std::error_condition&, const std::error_code&)
   operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:304:3: note:   no known conversion for argument 1 from ‘const std::reference_wrapper<asio::io_context>’ to ‘const std::error_condition&’
/usr/include/c++/7/system_error:297:3: note: candidate: bool std::operator==(const std::error_code&, const std::error_condition&)
   operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:297:3: note:   no known conversion for argument 1 from ‘const std::reference_wrapper<asio::io_context>’ to ‘const std::error_code&’
/usr/include/c++/7/system_error:292:3: note: candidate: bool std::operator==(const std::error_code&, const std::error_code&)
   operator==(const error_code& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:292:3: note:   no known conversion for argument 1 from ‘const std::reference_wrapper<asio::io_context>’ to ‘const std::error_code&’
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/thread:267:3: note: candidate: bool std::operator==(std::thread::id, std::thread::id)
   operator==(thread::id __x, thread::id __y) noexcept
   ^~~~~~~~
/usr/include/c++/7/thread:267:3: note:   no known conversion for argument 1 from ‘const std::reference_wrapper<asio::io_context>’ to ‘std::thread::id’
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/shared_ptr.h:378:5: note: candidate: template<class _Tp> bool std::operator==(std::nullptr_t, const std::shared_ptr<_Tp>&)
     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:378:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::shared_ptr<_Tp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/shared_ptr.h:373:5: note: candidate: template<class _Tp> bool std::operator==(const std::shared_ptr<_Tp>&, std::nullptr_t)
     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:373:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::shared_ptr<_Tp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/shared_ptr.h:368:5: note: candidate: template<class _Tp, class _Up> bool std::operator==(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Up>&)
     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:368:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::shared_ptr<_Tp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/shared_ptr_base.h:1420:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)
     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1420:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/shared_ptr_base.h:1415:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)
     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1415:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/shared_ptr_base.h:1409:5: note: candidate: template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)
     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1409:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/unique_ptr.h:694:5: note: candidate: template<class _Tp, class _Dp> bool std::operator==(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)
     operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:694:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/unique_ptr.h:689:5: note: candidate: template<class _Tp, class _Dp> bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)
     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:689:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/unique_ptr.h:683:5: note: candidate: template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)
     operator==(const unique_ptr<_Tp, _Dp>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:683:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/unique_ptr.h:37:0,
                 from /usr/include/c++/7/memory:80,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/tuple:1397:5: note: candidate: template<class ... _TElements, class ... _UElements> constexpr bool std::operator==(const std::tuple<_Tps ...>&, const std::tuple<_Elements ...>&)
     operator==(const tuple<_TElements...>& __t,
     ^~~~~~~~
/usr/include/c++/7/tuple:1397:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::tuple<_Tps ...>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/tuple:39:0,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/memory:80,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/array:252:5: note: candidate: template<class _Tp, long unsigned int _Nm> bool std::operator==(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
     ^~~~~~~~
/usr/include/c++/7/array:252:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::array<_Tp, _Nm>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/stdexcept:39,
                 from /usr/include/c++/7/array:39,
                 from /usr/include/c++/7/tuple:39,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/memory:80,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/basic_string.h:6034:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6034:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/stdexcept:39,
                 from /usr/include/c++/7/array:39,
                 from /usr/include/c++/7/tuple:39,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/memory:80,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/basic_string.h:6022:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator==(const _CharT* __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6022:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   mismatched types ‘const _CharT*’ and ‘std::reference_wrapper<asio::io_context>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/stdexcept:39,
                 from /usr/include/c++/7/array:39,
                 from /usr/include/c++/7/tuple:39,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/memory:80,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/basic_string.h:6008:5: note: candidate: template<class _CharT> typename __gnu_cxx::__enable_if<std::__is_char<_Tp>::__value, bool>::__type std::operator==(const std::__cxx11::basic_string<_CharT>&, const std::__cxx11::basic_string<_CharT>&)
     operator==(const basic_string<_CharT>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6008:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::__cxx11::basic_string<_CharT>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/stdexcept:39,
                 from /usr/include/c++/7/array:39,
                 from /usr/include/c++/7/tuple:39,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/memory:80,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/basic_string.h:6000:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6000:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/iosfwd:40:0,
                 from /usr/include/c++/7/memory:72,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/postypes.h:216:5: note: candidate: template<class _StateT> bool std::operator==(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^~~~~~~~
/usr/include/c++/7/bits/postypes.h:216:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::fpos<_StateT>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:63:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/allocator.h:152:5: note: candidate: template<class _Tp> bool std::operator==(const std::allocator<_Tp1>&, const std::allocator<_Tp1>&)
     operator==(const allocator<_Tp>&, const allocator<_Tp>&)
     ^~~~~~~~
/usr/include/c++/7/bits/allocator.h:152:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::allocator<_Tp1>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:63:0,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/allocator.h:146:5: note: candidate: template<class _T1, class _T2> bool std::operator==(const std::allocator<_Tp1>&, const std::allocator<_T2>&)
     operator==(const allocator<_T1>&, const allocator<_T2>&)
     ^~~~~~~~
/usr/include/c++/7/bits/allocator.h:146:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::allocator<_Tp1>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/memory:62,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_iterator.h:1124:5: note: candidate: template<class _Iterator> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)
     operator==(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1124:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::move_iterator<_IteratorL>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/memory:62,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_iterator.h:1118:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
     operator==(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1118:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::move_iterator<_IteratorL>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/memory:62,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_iterator.h:337:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator==(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:337:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::reverse_iterator<_Iterator>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/memory:62,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_iterator.h:299:5: note: candidate: template<class _Iterator> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator==(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:299:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::reverse_iterator<_Iterator>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/memory:62,
                 from /usr/include/c++/7/thread:39,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/thread.hpp:59,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/concurrency/basic.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/core_client.hpp:38,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/usr/include/c++/7/bits/stl_pair.h:443:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:443:5: note:   template argument deduction/substitution failed:
In file included from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/executor.hpp:336:0,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_socket.hpp:27,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/basic_datagram_socket.hpp:20,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio.hpp:21,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/common/asio.hpp:52,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/deps/websocketpp/websocketpp/config/asio_client.hpp:32,
                 from /home/hao-qi/Documents/repositories/sleepy-discord-private/examples/hello/example0.cpp:2:
/home/hao-qi/Documents/repositories/sleepy-discord-private/deps/asio/asio/include/asio/impl/executor.hpp:217:22: note:   ‘const std::reference_wrapper<asio::io_context>’ is not derived from ‘const std::pair<_T1, _T2>’
     return executor_ == *static_cast<const Executor*>(e->target());
            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/hello-example.dir/build.make:62: recipe for target 'CMakeFiles/hello-example.dir/example0.cpp.o' failed
make[2]: *** [CMakeFiles/hello-example.dir/example0.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/hello-example.dir/all' failed
make[1]: *** [CMakeFiles/hello-example.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
@zeroxs
Copy link

zeroxs commented Feb 21, 2019

websocketpp relies on deprecated features of asio which have been removed in the latest commits: chriskohlhoff/asio@9801132

1.12.2 would be the last version supported by websocketpp as it currently is.

@zaphoyd
Copy link
Owner

zaphoyd commented Feb 21, 2019

hmm, lovely. I'll be looking into this.

@chriskohlhoff
Copy link

chriskohlhoff commented Mar 7, 2019

At least some of these errors are due to this line:

https://github.com/zaphoyd/websocketpp/blob/master/websocketpp/transport/asio/security/none.hpp#L172

where websocketpp is passing a constructor argument through make_shared in a reference_wrapper. This shouldn't be required as make_shared will perfectly forward its arguments.

(N.B. this is a problem because what in asio was previously a non-template constructor that took io_context& is now a SFINAE-d template constructor, and the deduced ExecutionContext template argument reference_wrapper<io_context> seems to satisfy the SFINAE check but does not satisfy the needs of the function implementation.)

chriskohlhoff referenced this issue in boostorg/asio Mar 7, 2019
All I/O objects now have an additional Executor template parameter. This
template parameter defaults to the asio::executor type (the polymorphic
executor wrapper) but can be used to specify a user-defined executor
type.

I/O objects' constructors and functions that previously took an
asio::io_context& now accept either an Executor or a reference to a
concrete ExecutionContext (such as asio::io_context or
asio::thread_pool).

One potential point of breakage in existing user code is when reusing an
I/O object's io_context for constructing another I/O object, as in:

    asio::steady_timer my_timer(my_socket.get_executor().context());

To fix this, either construct the second I/O object using the first I/O
object's executor:

    asio::steady_timer my_timer(my_socket.get_executor());

or otherwise explicitly pass the io_context:

    asio::steady_timer my_timer(my_io_context);
@dropbear32
Copy link

I'm still having this issue; any progress?

@ziocleto
Copy link

as @chriskohlhoff suggested removing the wrapper lib::ref on asio calls seems to do the trick.
Thing is lib::refwrapper (for c++03 compilers??) is used somewhere else in code, quite a few times, so I guess we need to leave those alone unless we are talking to asio.

I have a fork here that just does that, but I'm not confident/expert on websocketpp to ask a pull request as I think there's more to it, and I couldn't have tested on many configs/systems. Anyway this is the fork:

https://github.com/ziocleto/websocketpp

Also @stefan-floeren I do not understand your PR as you've just replaced lib::make_shared with naked new, so that will be memory leaks midnight feast all over the places, surely?

@stefan-floeren
Copy link
Contributor

The lib::ref wrapper is still required for C++03 compilers. As long as they are supported we unfortunately cannot get rid of them. If @zaphoyd decides to drop support, removing those calls would be the easiest solution. Otherwise, we need to stick to a different solution.

@ziocleto I replaced assignments and make_shared with shared_ptr::reset and new. Both boost::shared_ptr and std::shared_ptr take ownership and make sure to not leak memory even in case of exceptions. The only difference between the make_shared and the reset option lies in the memory layout, as reset contains an additional level of indirection.

@ziocleto
Copy link

@stefan-floeren ah I see, so you've used .reset(newto keep 03 compatibility I guess, well if that's memory leak proof then I think we should reach out to @zaphoyd and make your PR accepted.

@908875137
Copy link

websocketpp relies on deprecated features of asio which have been removed in the latest commits: chriskohlhoff/asio@9801132

1.12.2 would be the last version supported by websocketpp as it currently is.

Do you mean I should dowload boost with version 1.12.0? And I don't find boost package in 1.12, now there are only 1.20.0 version the most olds ,

@stefan-floeren
Copy link
Contributor

No, 1.12.2 is the Asio version. The last working Boost is 1.69.

@FreddieChopin
Copy link

Just FYI, airdcpp-webclient builds fine when using "develop" branch of websocketpp (with boost 1.71). It fails when using the last released version.

@polishchlieb
Copy link

yes, seems like using develop branch fixes the issue

@crowder
Copy link

crowder commented Feb 28, 2020

In case this is useful for anyone else who just needs to get a working build going:

diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
index 60f88a7..a68fdb8 100644
--- a/websocketpp/transport/asio/connection.hpp
+++ b/websocketpp/transport/asio/connection.hpp
@@ -312,7 +312,7 @@ public:
      */
     timer_ptr set_timer(long duration, timer_handler callback) {
         timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
-            lib::ref(*m_io_service),
+            *m_io_service,
             lib::asio::milliseconds(duration)
         );

@@ -461,8 +461,7 @@ protected:
         m_io_service = io_service;

         if (config::enable_multithreading) {
-            m_strand = lib::make_shared<lib::asio::io_service::strand>(
-                lib::ref(*io_service));
+            m_strand = lib::make_shared<lib::asio::io_service::strand>(*io_service);
         }

         lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
index ddab2c7..6b107d0 100644
--- a/websocketpp/transport/asio/endpoint.hpp
+++ b/websocketpp/transport/asio/endpoint.hpp
@@ -195,8 +195,7 @@ public:

         m_io_service = ptr;
         m_external_io_service = true;
-        m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
-            lib::ref(*m_io_service));
+        m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(*m_io_service);

         m_state = READY;
         ec = lib::error_code();
@@ -688,9 +687,7 @@ public:
      * @since 0.3.0
      */
     void start_perpetual() {
-        m_work = lib::make_shared<lib::asio::io_service::work>(
-            lib::ref(*m_io_service)
-        );
+        m_work = lib::make_shared<lib::asio::io_service::work>(*m_io_service);
     }

     /// Clears the endpoint's perpetual flag, allowing it to exit when empty
@@ -854,8 +851,7 @@ protected:

         // Create a resolver
         if (!m_resolver) {
-            m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
-                lib::ref(*m_io_service));
+            m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(*m_io_service);
         }

         tcon->set_uri(u);
diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp
index 5c8293d..2999e22 100644
--- a/websocketpp/transport/asio/security/none.hpp
+++ b/websocketpp/transport/asio/security/none.hpp
@@ -168,8 +168,7 @@ protected:
             return socket::make_error_code(socket::error::invalid_state);
         }

-        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
-            lib::ref(*service));
+        m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(*service);

         if (m_socket_init_handler) {
             m_socket_init_handler(m_hdl, *m_socket);

Risca pushed a commit to Risca/OpenPHT that referenced this issue Mar 14, 2020
francisduffy pushed a commit to francisduffy/websocketpp that referenced this issue Mar 15, 2020
The fix was taken from the comment here:
zaphoyd#794 (comment)
@zaphoyd
Copy link
Owner

zaphoyd commented Apr 19, 2020

The fix for this issue has been available on the develop branch for some time and has now been published in release 0.8.2

@zaphoyd zaphoyd closed this as completed Apr 19, 2020
fuxxociety pushed a commit to fuxxociety/OpenPHT that referenced this issue Oct 23, 2020
Risca pushed a commit to RasPlex/OpenPHT that referenced this issue Jan 10, 2021
jollyjonson added a commit to jollyjonson/ubuntu-18.04 that referenced this issue Nov 2, 2023
Using an older version of websocket++ (<0.8.2) leads to errors with newer versions of Boost.Asio, s. zaphoyd/websocketpp#794
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests