Skip to content

Dependency setup woes on Arch Linux #5

@hasechris

Description

@hasechris

Hello @manuels,

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.

My System:

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# 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions