i wanted to build your code, but it threw an error on compiling opendht. Can you see, what error i am getting here?
Please just ask, if you need more information.
root@unifi:~/Projects/wireguard-p2p# uname -a
Linux unifi 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u2 (2018-02-21) x86_64 GNU/Linux
root@unifi:~/Projects/wireguard-p2p# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@unifi:~/Projects/wireguard-p2p#
Compiling opendht v0.1.0
Compiling tokio-current-thread v0.1.5
Compiling tokio-timer v0.2.10
error: failed to run custom build command for `opendht v0.1.0`
process didn't exit successfully: `/root/Projects/wireguard-p2p/target/release/build/opendht-7ff94009b1d3d372/build-script-build` (exit code: 101)
--- stdout
cargo:rustc-flags=-l gnutls -l nettle -l argon2
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("3")
HOST = Some("x86_64-unknown-linux-gnu")
CXX_x86_64-unknown-linux-gnu = None
CXX_x86_64_unknown_linux_gnu = None
HOST_CXX = None
CXX = None
CXXFLAGS_x86_64-unknown-linux-gnu = None
CXXFLAGS_x86_64_unknown_linux_gnu = None
HOST_CXXFLAGS = None
CXXFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
running: "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-Wall" "-Wextra" "-o" "/root/Projects/wireguard-p2p/target/release/build/opendht-2fcefee937447189/out/src/wrapper.o" "-c" "src/wrapper.cpp"
cargo:warning=src/wrapper.cpp: In function ‘void dht_bootstrap(dht_t*, sockaddr*, size_t, done_callback, void*)’:
cargo:warning=src/wrapper.cpp:68:39: error: no matching function for call to ‘dht::SockAddr::SockAddr(sockaddr*)’
cargo:warning= vec.push_back(dht::SockAddr(&sa[i]));
cargo:warning= ^
cargo:warning=In file included from /usr/include/opendht/dhtrunner.h:27:0,
cargo:warning= from /usr/include/opendht.h:22,
cargo:warning= from src/wrapper.cpp:1:
cargo:warning=/usr/include/opendht/sockaddr.h:47:5: note: candidate: dht::SockAddr::SockAddr(const sockaddr_storage&, socklen_t)
cargo:warning= SockAddr(const sockaddr_storage& ss, socklen_t len) : SockAddr((const sockaddr*)&ss, len) {}
cargo:warning= ^~~~~~~~
cargo:warning=/usr/include/opendht/sockaddr.h:47:5: note: candidate expects 2 arguments, 1 provided
cargo:warning=/usr/include/opendht/sockaddr.h:42:5: note: candidate: dht::SockAddr::SockAddr(const sockaddr*, socklen_t)
cargo:warning= SockAddr(const sockaddr* sa, socklen_t len) : pair<sockaddr_storage, socklen_t>::pair({},len) {
cargo:warning= ^~~~~~~~
cargo:warning=/usr/include/opendht/sockaddr.h:42:5: note: candidate expects 2 arguments, 1 provided
cargo:warning=/usr/include/opendht/sockaddr.h:39:5: note: candidate: dht::SockAddr::SockAddr(const dht::SockAddr&)
cargo:warning= SockAddr(const SockAddr& o) : pair<sockaddr_storage, socklen_t>::pair({},o.second) {
cargo:warning= ^~~~~~~~
cargo:warning=/usr/include/opendht/sockaddr.h:39:5: note: no known conversion for argument 1 from ‘sockaddr*’ to ‘const dht::SockAddr&’
cargo:warning=/usr/include/opendht/sockaddr.h:38:5: note: candidate: dht::SockAddr::SockAddr()
cargo:warning= SockAddr() : pair<sockaddr_storage, socklen_t>::pair({},0) {}
cargo:warning= ^~~~~~~~
cargo:warning=/usr/include/opendht/sockaddr.h:38:5: note: candidate expects 0 arguments, 1 provided
cargo:warning=src/wrapper.cpp:71:30: error: no matching function for call to ‘dht::DhtRunner::bootstrap(std::vector<dht::SockAddr>&, dht_bootstrap(dht_t*, sockaddr*, size_t, done_callback, void*)::<lambda(bool)>&)’
cargo:warning= DHT(dht)->bootstrap(vec, cb);
cargo:warning= ^
cargo:warning=In file included from /usr/include/opendht.h:22:0,
cargo:warning= from src/wrapper.cpp:1:
cargo:warning=/usr/include/opendht/dhtrunner.h:205:10: note: candidate: void dht::DhtRunner::bootstrap(const std::vector<std::pair<sockaddr_storage, unsigned int> >&, dht::DoneCallbackSimple&&)
cargo:warning= void bootstrap(const std::vector<std::pair<sockaddr_storage, socklen_t>>& nodes, DoneCallbackSimple&& cb={});
cargo:warning= ^~~~~~~~~
cargo:warning=/usr/include/opendht/dhtrunner.h:205:10: note: no known conversion for argument 1 from ‘std::vector<dht::SockAddr>’ to ‘const std::vector<std::pair<sockaddr_storage, unsigned int> >&’
cargo:warning=/usr/include/opendht/dhtrunner.h:211:10: note: candidate: void dht::DhtRunner::bootstrap(const std::vector<dht::NodeExport>&)
cargo:warning= void bootstrap(const std::vector<NodeExport>& nodes);
cargo:warning= ^~~~~~~~~
cargo:warning=/usr/include/opendht/dhtrunner.h:211:10: note: candidate expects 1 argument, 2 provided
cargo:warning=/usr/include/opendht/dhtrunner.h:219:10: note: candidate: void dht::DhtRunner::bootstrap(const string&, const string&)
cargo:warning= void bootstrap(const std::string& host, const std::string& service);
cargo:warning= ^~~~~~~~~
cargo:warning=/usr/include/opendht/dhtrunner.h:219:10: note: no known conversion for argument 1 from ‘std::vector<dht::SockAddr>’ to ‘const string& {aka const std::__cxx11::basic_string<char>&}’
cargo:warning=In file included from /usr/include/msgpack.hpp:10:0,
cargo:warning= from /usr/include/opendht/infohash.h:22,
cargo:warning= from /usr/include/opendht/dhtrunner.h:24,
cargo:warning= from /usr/include/opendht.h:22,
cargo:warning= from src/wrapper.cpp:1:
cargo:warning=/usr/include/msgpack/object.hpp: In instantiation of ‘const msgpack::v1::object& msgpack::v1::adaptor::convert<T, Enabler>::operator()(const msgpack::v1::object&, T&) const [with T = dht::NodeExport; Enabler = void]’:
cargo:warning=/usr/include/msgpack/adaptor/adaptor_base.hpp:56:33: required from ‘const msgpack::v1::object& msgpack::v1::operator>>(const msgpack::v1::object&, T&) [with T = dht::NodeExport]’
cargo:warning=/usr/include/msgpack/object.hpp:522:24: required from ‘T& msgpack::v1::object::convert(T&) const [with T = dht::NodeExport]’
cargo:warning=/usr/include/msgpack/adaptor/vector.hpp:59:17: required from ‘const msgpack::v1::object& msgpack::v1::adaptor::convert<std::vector<_Tp, _Alloc> >::operator()(const msgpack::v1::object&, std::vector<_Tp, _Alloc>&) const [with T = dht::NodeExport; Alloc = std::allocator<dht::NodeExport>]’
cargo:warning=/usr/include/msgpack/adaptor/adaptor_base.hpp:56:33: required from ‘const msgpack::v1::object& msgpack::v1::operator>>(const msgpack::v1::object&, T&) [with T = std::vector<dht::NodeExport>]’
cargo:warning=/usr/include/msgpack/object.hpp:522:24: required from ‘T& msgpack::v1::object::convert(T&) const [with T = std::vector<dht::NodeExport>]’
cargo:warning=/usr/include/msgpack/object.hpp:565:5: required from ‘typename std::enable_if<(! msgpack::v1::has_as<T>::value), T>::type msgpack::v1::object::as() const [with T = std::vector<dht::NodeExport>; typename std::enable_if<(! msgpack::v1::has_as<T>::value), T>::type = std::vector<dht::NodeExport>]’
cargo:warning=src/wrapper.cpp:141:58: required from here
cargo:warning=/usr/include/msgpack/object.hpp:196:7: error: ‘struct dht::NodeExport’ has no member named ‘msgpack_unpack’
cargo:warning= v.msgpack_unpack(o.convert());
cargo:warning= ~~^~~~~~~~~~~~~~
cargo:warning=/usr/include/msgpack/object.hpp: In instantiation of ‘static msgpack::v1::packer<Stream>& msgpack::v1::detail::packer_serializer<Stream, T>::pack(msgpack::v1::packer<Stream>&, const T&) [with Stream = msgpack::v1::sbuffer; T = dht::NodeExport]’:
cargo:warning=/usr/include/msgpack/object.hpp:205:63: required from ‘msgpack::v1::packer<Stream>& msgpack::v1::adaptor::pack<T, Enabler>::operator()(msgpack::v1::packer<Stream>&, const T&) const [with Stream = msgpack::v1::sbuffer; T = dht::NodeExport; Enabler = void]’
cargo:warning=/usr/include/msgpack/adaptor/adaptor_base.hpp:62:30: required from ‘msgpack::v1::packer<Stream>& msgpack::v1::operator<<(msgpack::v1::packer<Stream>&, const T&) [with Stream = msgpack::v1::sbuffer; T = dht::NodeExport]’
cargo:warning=/usr/include/msgpack/object.hpp:411:24: required from ‘msgpack::v1::packer<Stream>& msgpack::v1::packer<Stream>::pack(const T&) [with T = dht::NodeExport; Stream = msgpack::v1::sbuffer]’
cargo:warning=/usr/include/msgpack/adaptor/vector.hpp:76:13: required from ‘msgpack::v1::packer<Stream>& msgpack::v1::adaptor::pack<std::vector<_Tp, _Alloc> >::operator()(msgpack::v1::packer<Stream>&, const std::vector<_Tp, _Alloc>&) const [with Stream = msgpack::v1::sbuffer; T = dht::NodeExport; Alloc = std::allocator<dht::NodeExport>]’
cargo:warning=/usr/include/msgpack/adaptor/adaptor_base.hpp:62:30: required from ‘msgpack::v1::packer<Stream>& msgpack::v1::operator<<(msgpack::v1::packer<Stream>&, const T&) [with Stream = msgpack::v1::sbuffer; T = std::vector<dht::NodeExport>]’
cargo:warning=/usr/include/msgpack/object.hpp:411:24: required from ‘msgpack::v1::packer<Stream>& msgpack::v1::packer<Stream>::pack(const T&) [with T = std::vector<dht::NodeExport>; Stream = msgpack::v1::sbuffer]’
cargo:warning=/usr/include/msgpack/pack.hpp:655:5: required from ‘void msgpack::v1::pack(Stream&, const T&) [with Stream = msgpack::v1::sbuffer; T = std::vector<dht::NodeExport>]’
cargo:warning=src/wrapper.cpp:135:46: required from here
cargo:warning=/usr/include/msgpack/object.hpp:185:11: error: ‘const struct dht::NodeExport’ has no member named ‘msgpack_pack’
cargo:warning= v.msgpack_pack(o);
cargo:warning= ~~^~~~~~~~~~~~
exit code: 1
--- stderr
thread 'main' panicked at '
Internal error occurred: Command "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-Wall" "-Wextra" "-o" "/root/Projects/wireguard-p2p/target/release/build/opendht-2fcefee937447189/out/src/wrapper.o" "-c" "src/wrapper.cpp" with args "c++" did not execute successfully (status code exit code: 1).
', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.30/src/lib.rs:2370:5
stack backtrace:
0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
1: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:71
2: std::panicking::default_hook::{{closure}}
at src/libstd/sys_common/backtrace.rs:59
at src/libstd/panicking.rs:197
3: std::panicking::default_hook
at src/libstd/panicking.rs:211
4: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:474
5: std::panicking::continue_panic_fmt
at src/libstd/panicking.rs:381
6: std::panicking::begin_panic_fmt
at src/libstd/panicking.rs:336
7: cc::fail
8: cc::Build::compile
9: build_script_build::main
10: std::rt::lang_start::{{closure}}
11: std::panicking::try::do_call
at src/libstd/rt.rs:49
at src/libstd/panicking.rs:293
12: __rust_maybe_catch_panic
at src/libpanic_unwind/lib.rs:87
13: std::rt::lang_start_internal
at src/libstd/panicking.rs:272
at src/libstd/panic.rs:388
at src/libstd/rt.rs:48
14: main
15: __libc_start_main
16: _start
warning: build failed, waiting for other jobs to finish...
error: build failed
root@unifi:~/Projects/wireguard-p2p#