fuerte
fuerte copied to clipboard
Cannot build fuerte GeneralConnection
Was trying to build arangodb 3.7 on Ubuntu 16.04 from source but was getting errors when it attempts to build fuerte. Thought maybe it was something to do with libboost. Built libboost and velocypack from scratch and retried the build. However, got the following result.
self(weak_from_this())
seems to be the general issue.
calwoodruff@dldev3-cwood:~/src/fuerte/build git: master
$ cmake .. -DBOOST_ROOT=/home/calwoodruff/src/boost_1_71_0
-- FUERTE_STANDALONE_ASIO OFF
-- Found Boost: /home/calwoodruff/src/boost_1_71_0 (found version "1.71.0") found components: system thread chrono date_time atomic
-- HINTS:
-- HINTS: /usr/local/include
-- Found VELOCYPACK: /usr/local/lib/libvelocypack.a (found version "0.1.33")
-- HINTS:
-- HINTS: /usr/local/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/calwoodruff/src/fuerte/build
calwoodruff@dldev3-cwood:~/src/fuerte/build git: master
$ make && sudo make install
Scanning dependencies of target fuerte
[ 5%] Building CXX object CMakeFiles/fuerte.dir/src/connection.cpp.o
[ 11%] Building CXX object CMakeFiles/fuerte.dir/src/ConnectionBuilder.cpp.o
[ 17%] Building CXX object CMakeFiles/fuerte.dir/src/GeneralConnection.cpp.o
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp: In member function ‘void arangodb::fuerte::GeneralConnection<ST>::cancel()’:
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:52: error: there are no arguments to ‘weak_from_this’ that depend on a template parameter, so a declaration of ‘weak_from_this’ must be available [-fpermissive]
asio_ns::post(*_io_context, [self(weak_from_this()), this] {
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:52: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp: In instantiation of ‘struct arangodb::fuerte::GeneralConnection<ST>::cancel() [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda>’:
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:16: required from ‘void arangodb::fuerte::GeneralConnection<ST>::cancel() [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:182:34: required from here
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:51: error: ‘weak_from_this’ was not declared in this scope
asio_ns::post(*_io_context, [self(weak_from_this()), this] {
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:56: error: using invalid field ‘arangodb::fuerte::GeneralConnection<ST>::cancel()::<lambda()>::__self’
asio_ns::post(*_io_context, [self(weak_from_this()), this] {
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp: In instantiation of ‘struct arangodb::fuerte::GeneralConnection<ST>::cancel() [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda>’:
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:16: required from ‘void arangodb::fuerte::GeneralConnection<ST>::cancel() [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:183:34: required from here
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:51: error: ‘weak_from_this’ was not declared in this scope
asio_ns::post(*_io_context, [self(weak_from_this()), this] {
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:56: error: using invalid field ‘arangodb::fuerte::GeneralConnection<ST>::cancel()::<lambda()>::__self’
asio_ns::post(*_io_context, [self(weak_from_this()), this] {
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp: In instantiation of ‘struct arangodb::fuerte::GeneralConnection<ST>::cancel() [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]::<lambda>’:
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:16: required from ‘void arangodb::fuerte::GeneralConnection<ST>::cancel() [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:185:34: required from here
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:51: error: ‘weak_from_this’ was not declared in this scope
asio_ns::post(*_io_context, [self(weak_from_this()), this] {
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:45:56: error: using invalid field ‘arangodb::fuerte::GeneralConnection<ST>::cancel()::<lambda()>::__self’
asio_ns::post(*_io_context, [self(weak_from_this()), this] {
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp: In instantiation of ‘arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int)::<lambda(const auto:1&)> [with auto:1 = boost::system::error_code; arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]’:
/home/calwoodruff/src/fuerte/src/AsioSockets.h:119:13: required from ‘arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)2u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, F&&)::<lambda(const error_code&)> [with F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda(const auto:1&)>; boost::asio::error_code = boost::system::error_code]’
/home/calwoodruff/src/fuerte/src/AsioSockets.h:117:58: required from ‘struct arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)2u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, F&&) [with F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda(const auto:1&)>]::<lambda(const error_code&)>’
/home/calwoodruff/src/fuerte/src/AsioSockets.h:133:5: required from ‘void arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)2u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, F&&) [with F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda(const auto:1&)>]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:128:3: required from ‘void arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:183:34: required from here
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:131:20: error: ‘finishConnect’ was not declared in this scope
finishConnect();
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:136:17: error: ‘tryConnect’ was not declared in this scope
tryConnect(retries - 1);
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:139:17: error: ‘drainQueue’ was not declared in this scope
drainQueue(Error::CouldNotConnect);
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:140:25: error: ‘shutdownConnection’ was not declared in this scope
shutdownConnection(Error::CouldNotConnect,
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp: In instantiation of ‘arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int)::<lambda(const auto:1&)> [with auto:1 = boost::system::error_code; arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]’:
/home/calwoodruff/src/fuerte/src/AsioSockets.h:168:11: required from ‘arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)3u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, CallbackT)::<lambda(const error_code&)> [with CallbackT = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]::<lambda(const auto:1&)>; boost::asio::error_code = boost::system::error_code]’
/home/calwoodruff/src/fuerte/src/AsioSockets.h:167:31: required from ‘struct arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)3u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, CallbackT) [with CallbackT = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]::<lambda(const auto:1&)>]::<lambda(const error_code&)>’
/home/calwoodruff/src/fuerte/src/AsioSockets.h:167:5: required from ‘void arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)3u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, CallbackT) [with CallbackT = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]::<lambda(const auto:1&)>]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:128:3: required from ‘void arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:185:34: required from here
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:131:20: error: ‘finishConnect’ was not declared in this scope
finishConnect();
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:136:17: error: ‘tryConnect’ was not declared in this scope
tryConnect(retries - 1);
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:139:17: error: ‘drainQueue’ was not declared in this scope
drainQueue(Error::CouldNotConnect);
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:140:25: error: ‘shutdownConnection’ was not declared in this scope
shutdownConnection(Error::CouldNotConnect,
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp: In instantiation of ‘arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int)::<lambda(const auto:1&)> [with auto:1 = boost::system::error_code; arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]’:
/home/calwoodruff/src/fuerte/src/AsioSockets.h:41:11: required from ‘arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&)::<lambda(const error_code&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)> [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>; boost::asio::error_code = boost::system::error_code; boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator = boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp>]’
/home/calwoodruff/src/fuerte/src/AsioSockets.h:37:50: required from ‘struct arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&) [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>; boost::asio::ip::tcp::resolver = boost::asio::ip::basic_resolver<boost::asio::ip::tcp>]::<lambda(const error_code&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)>’
/home/calwoodruff/src/fuerte/src/AsioSockets.h:52:3: required from ‘void arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&) [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>; boost::asio::ip::tcp::resolver = boost::asio::ip::basic_resolver<boost::asio::ip::tcp>]’
/home/calwoodruff/src/fuerte/src/AsioSockets.h:85:19: required from ‘void arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)1u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, F&&) [with F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:128:3: required from ‘void arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]’
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:182:34: required from here
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:131:20: error: ‘finishConnect’ was not declared in this scope
finishConnect();
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:136:17: error: ‘tryConnect’ was not declared in this scope
tryConnect(retries - 1);
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:139:17: error: ‘drainQueue’ was not declared in this scope
drainQueue(Error::CouldNotConnect);
^
/home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:140:25: error: ‘shutdownConnection’ was not declared in this scope
shutdownConnection(Error::CouldNotConnect,
^
In file included from /home/calwoodruff/src/boost_1_71_0/boost/asio/ssl.hpp:22:0,
from /home/calwoodruff/src/fuerte/include/fuerte/asio_ns.h:57,
from /home/calwoodruff/src/fuerte/include/fuerte/loop.h:32,
from /home/calwoodruff/src/fuerte/include/fuerte/connection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:23:
/home/calwoodruff/src/boost_1_71_0/boost/asio/ssl/stream.hpp: At global scope:
/home/calwoodruff/src/boost_1_71_0/boost/asio/ssl/stream.hpp:437:3: error: ‘typename boost::asio::async_result<typename std::decay<_Tp>::type, void(boost::system::error_code)>::return_type boost::asio::ssl::stream<Stream>::async_handshake(boost::asio::ssl::stream_base::handshake_type, HandshakeHandler&&) [with HandshakeHandler = const arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda(const auto:1&)>; Stream = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; typename boost::asio::async_result<typename std::decay<_Tp>::type, void(boost::system::error_code)>::return_type = void]’, declared using local type ‘const arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda(const auto:1&)>’, is used but never defined [-fpermissive]
async_handshake(handshake_type type,
^
In file included from /home/calwoodruff/src/fuerte/src/GeneralConnection.h:30:0,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:23:
/home/calwoodruff/src/fuerte/src/AsioSockets.h:33:6: error: ‘void arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&) [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)2u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, F&&) [with F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda(const auto:1&)>]::<lambda(const error_code&)>; boost::asio::ip::tcp::resolver = boost::asio::ip::basic_resolver<boost::asio::ip::tcp>]’, declared using local type ‘arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)2u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, F&&) [with F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)2u]::<lambda(const auto:1&)>]::<lambda(const error_code&)>’, is used but never defined [-fpermissive]
void resolveConnect(detail::ConnectionConfiguration const& config,
^
In file included from /home/calwoodruff/src/boost_1_71_0/boost/asio/basic_datagram_socket.hpp:20:0,
from /home/calwoodruff/src/boost_1_71_0/boost/asio.hpp:24,
from /home/calwoodruff/src/fuerte/include/fuerte/asio_ns.h:55,
from /home/calwoodruff/src/fuerte/include/fuerte/loop.h:32,
from /home/calwoodruff/src/fuerte/include/fuerte/connection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:23:
/home/calwoodruff/src/boost_1_71_0/boost/asio/basic_socket.hpp:946:3: error: ‘typename boost::asio::async_result<typename std::decay<_Tp>::type, void(boost::system::error_code)>::return_type boost::asio::basic_socket<Protocol, Executor>::async_connect(const endpoint_type&, ConnectHandler&&) [with ConnectHandler = arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)3u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, CallbackT) [with CallbackT = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]::<lambda(const auto:1&)>]::<lambda(const error_code&)>; Protocol = boost::asio::local::stream_protocol; Executor = boost::asio::executor; typename boost::asio::async_result<typename std::decay<_Tp>::type, void(boost::system::error_code)>::return_type = void; boost::asio::basic_socket<Protocol, Executor>::endpoint_type = boost::asio::local::basic_endpoint<boost::asio::local::stream_protocol>]’, declared using local type ‘arangodb::fuerte::v1::Socket<(arangodb::fuerte::v1::SocketType)3u>::connect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, CallbackT) [with CallbackT = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)3u]::<lambda(const auto:1&)>]::<lambda(const error_code&)>’, is used but never defined [-fpermissive]
async_connect(const endpoint_type& peer_endpoint,
^
In file included from /home/calwoodruff/src/boost_1_71_0/boost/asio/connect.hpp:1055:0,
from /home/calwoodruff/src/boost_1_71_0/boost/asio.hpp:50,
from /home/calwoodruff/src/fuerte/include/fuerte/asio_ns.h:55,
from /home/calwoodruff/src/fuerte/include/fuerte/loop.h:32,
from /home/calwoodruff/src/fuerte/include/fuerte/connection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:23:
/home/calwoodruff/src/boost_1_71_0/boost/asio/impl/connect.hpp:754:1: error: ‘typename boost::asio::async_result<typename std::decay<WriteHandler>::type, void(boost::system::error_code, Iterator)>::return_type boost::asio::async_connect(boost::asio::basic_socket<Protocol, Executor>&, Iterator, IteratorConnectHandler&&, typename std::enable_if<(! boost::asio::is_endpoint_sequence<EndpointSequence>::value)>::type*) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::executor; Iterator = boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp>; IteratorConnectHandler = arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&)::<lambda(const error_code&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)> [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>; boost::asio::error_code = boost::system::error_code; boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator = boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp>]::<lambda(const error_code&, const iterator&)>; typename boost::asio::async_result<typename std::decay<WriteHandler>::type, void(boost::system::error_code, Iterator)>::return_type = void; typename std::enable_if<(! boost::asio::is_endpoint_sequence<EndpointSequence>::value)>::type = void]’, declared using local type ‘arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&)::<lambda(const error_code&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)> [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>; boost::asio::error_code = boost::system::error_code; boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator = boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp>]::<lambda(const error_code&, const iterator&)>’, is used but never defined [-fpermissive]
async_connect(basic_socket<Protocol, Executor>& s, Iterator begin,
^
In file included from /home/calwoodruff/src/boost_1_71_0/boost/asio.hpp:84:0,
from /home/calwoodruff/src/fuerte/include/fuerte/asio_ns.h:55,
from /home/calwoodruff/src/fuerte/include/fuerte/loop.h:32,
from /home/calwoodruff/src/fuerte/include/fuerte/connection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:23:
/home/calwoodruff/src/boost_1_71_0/boost/asio/ip/basic_resolver.hpp:673:3: error: ‘typename boost::asio::async_result<typename std::decay<_Tp>::type, void(boost::system::error_code, boost::asio::ip::basic_resolver_results<Protocol>)>::return_type boost::asio::ip::basic_resolver<InternetProtocol, Executor>::async_resolve(std::experimental::fundamentals_v1::string_view, std::experimental::fundamentals_v1::string_view, ResolveHandler&&) [with ResolveHandler = arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&) [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>; boost::asio::ip::tcp::resolver = boost::asio::ip::basic_resolver<boost::asio::ip::tcp>]::<lambda(const error_code&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)>; InternetProtocol = boost::asio::ip::tcp; Executor = boost::asio::executor; typename boost::asio::async_result<typename std::decay<_Tp>::type, void(boost::system::error_code, boost::asio::ip::basic_resolver_results<Protocol>)>::return_type = void; std::experimental::fundamentals_v1::string_view = std::experimental::fundamentals_v1::basic_string_view<char>]’, declared using local type ‘arangodb::fuerte::v1::{anonymous}::resolveConnect(const arangodb::fuerte::v1::detail::ConnectionConfiguration&, boost::asio::ip::tcp::resolver&, SocketT&, F&&) [with SocketT = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; F = arangodb::fuerte::GeneralConnection<ST>::tryConnect(unsigned int) [with arangodb::fuerte::v1::SocketType ST = (arangodb::fuerte::v1::SocketType)1u]::<lambda(const auto:1&)>; boost::asio::ip::tcp::resolver = boost::asio::ip::basic_resolver<boost::asio::ip::tcp>]::<lambda(const error_code&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)>’, is used but never defined [-fpermissive]
async_resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
^
CMakeFiles/fuerte.dir/build.make:88: recipe for target 'CMakeFiles/fuerte.dir/src/GeneralConnection.cpp.o' failed
make[2]: *** [CMakeFiles/fuerte.dir/src/GeneralConnection.cpp.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/fuerte.dir/all' failed
make[1]: *** [CMakeFiles/fuerte.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2
Changing gcc/g++ to version 7.1 causes the following output:
calwoodruff@dldev3-cwood:~/src/fuerte/build git: master
$ cmake .. -DBOOST_ROOT=/home/calwoodruff/src/boost_1_71_0 -DCMAKE_BUILD_TYPE=Debug
-- The CXX compiler identification is GNU 7.1.0
-- The C compiler identification is GNU 7.1.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- FUERTE_STANDALONE_ASIO OFF
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1d")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Boost: /home/calwoodruff/src/boost_1_71_0 (found version "1.71.0") found components: system thread chrono date_time atomic
-- HINTS:
-- HINTS: /usr/local/include
-- Found VELOCYPACK: /usr/local/lib/libvelocypack.a (found version "0.1.33")
-- HINTS:
-- HINTS: /usr/local/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/calwoodruff/src/fuerte/build
calwoodruff@dldev3-cwood:~/src/fuerte/build git: master
$ make -j4
Scanning dependencies of target fuerte
[ 5%] Building CXX object CMakeFiles/fuerte.dir/src/connection.cpp.o
[ 11%] Building CXX object CMakeFiles/fuerte.dir/src/ConnectionBuilder.cpp.o
[ 17%] Building CXX object CMakeFiles/fuerte.dir/src/helper.cpp.o
[ 23%] Building CXX object CMakeFiles/fuerte.dir/src/GeneralConnection.cpp.o
In file included from /usr/local/include/velocypack/AttributeTranslator.h:36:0,
from /usr/local/include/velocypack/Builder.h:38,
from /home/calwoodruff/src/fuerte/include/fuerte/message.h:35,
from /home/calwoodruff/src/fuerte/include/fuerte/connection.h:28,
from /home/calwoodruff/src/fuerte/src/connection.cpp:25:
/usr/local/include/velocypack/StringRef.h: In constructor ‘constexpr arangodb::velocypack::StringRef::StringRef(const char*)’:
/usr/local/include/velocypack/StringRef.h:55:107: error: call to non-constexpr function ‘static std::size_t std::char_traits<char>::length(const char_type*)’
constexpr explicit StringRef(char const* data) noexcept : StringRef(data, std::char_traits<char>::length(data)) {}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/local/include/velocypack/AttributeTranslator.h:36:0,
from /usr/local/include/velocypack/Builder.h:38,
from /home/calwoodruff/src/fuerte/include/fuerte/message.h:35,
from /home/calwoodruff/src/fuerte/include/fuerte/connection.h:28,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.h:27,
from /home/calwoodruff/src/fuerte/src/GeneralConnection.cpp:23:
/usr/local/include/velocypack/StringRef.h: In constructor ‘constexpr arangodb::velocypack::StringRef::StringRef(const char*)’:
/usr/local/include/velocypack/StringRef.h:55:107: error: call to non-constexpr function ‘static std::size_t std::char_traits<char>::length(const char_type*)’
constexpr explicit StringRef(char const* data) noexcept : StringRef(data, std::char_traits<char>::length(data)) {}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/local/include/velocypack/AttributeTranslator.h:36:0,
from /usr/local/include/velocypack/Builder.h:38,
from /home/calwoodruff/src/fuerte/include/fuerte/message.h:35,
from /home/calwoodruff/src/fuerte/include/fuerte/helper.h:26,
from /home/calwoodruff/src/fuerte/src/helper.cpp:24:
/usr/local/include/velocypack/StringRef.h: In constructor ‘constexpr arangodb::velocypack::StringRef::StringRef(const char*)’:
/usr/local/include/velocypack/StringRef.h:55:107: error: call to non-constexpr function ‘static std::size_t std::char_traits<char>::length(const char_type*)’
constexpr explicit StringRef(char const* data) noexcept : StringRef(data, std::char_traits<char>::length(data)) {}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
CMakeFiles/fuerte.dir/build.make:62: recipe for target 'CMakeFiles/fuerte.dir/src/connection.cpp.o' failed
make[2]: *** [CMakeFiles/fuerte.dir/src/connection.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/fuerte.dir/build.make:101: recipe for target 'CMakeFiles/fuerte.dir/src/helper.cpp.o' failed
make[2]: *** [CMakeFiles/fuerte.dir/src/helper.cpp.o] Error 1
In file included from /usr/local/include/velocypack/AttributeTranslator.h:36:0,
from /usr/local/include/velocypack/Builder.h:38,
from /home/calwoodruff/src/fuerte/include/fuerte/message.h:35,
from /home/calwoodruff/src/fuerte/include/fuerte/connection.h:28,
from /home/calwoodruff/src/fuerte/src/ConnectionBuilder.cpp:25:
/usr/local/include/velocypack/StringRef.h: In constructor ‘constexpr arangodb::velocypack::StringRef::StringRef(const char*)’:
/usr/local/include/velocypack/StringRef.h:55:107: error: call to non-constexpr function ‘static std::size_t std::char_traits<char>::length(const char_type*)’
constexpr explicit StringRef(char const* data) noexcept : StringRef(data, std::char_traits<char>::length(data)) {}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
CMakeFiles/fuerte.dir/build.make:88: recipe for target 'CMakeFiles/fuerte.dir/src/GeneralConnection.cpp.o' failed
make[2]: *** [CMakeFiles/fuerte.dir/src/GeneralConnection.cpp.o] Error 1
CMakeFiles/fuerte.dir/build.make:75: recipe for target 'CMakeFiles/fuerte.dir/src/ConnectionBuilder.cpp.o' failed
make[2]: *** [CMakeFiles/fuerte.dir/src/ConnectionBuilder.cpp.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/fuerte.dir/all' failed
make[1]: *** [CMakeFiles/fuerte.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2
I guess my basic questions are: What is the correct tool chain for building arangodb? Can this component be left out?
I get the same result.
Ubuntu 16.04 boost 1.71 cmake 3.16
We copy the Fuerte code into the ArangoDB repository, maybe the cmake file in here is out of date
Actually I think you should just update your gcc
@graetzer what version of gcc is known to work?
I think we use 9