216k155 / lux

THIS REPO IS CLOSED, WE MOVED TO https://github.com/lux-core/lux
https://luxcore.io
GNU Affero General Public License v3.0
4 stars 2 forks source link

Compiling fails with boost 1.66 #132

Closed PXLFuSSeL closed 6 years ago

PXLFuSSeL commented 6 years ago

Hy there,

on compiling hour latest version i get the following erros: rpcserver.cpp:506:101: error: wrong number of template arguments (2, should be 1) static void RPCAcceptHandler(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ In file included from /usr/local/include/boost/asio.hpp:30:0, from rpcprotocol.h:9, from rpcserver.h:10, from rpcserver.cpp:8: /usr/local/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: provided for ‘template class boost::asio::basic_socket_acceptor’ class basic_socket_acceptor ^ rpcserver.cpp:506:103: error: template argument 1 is invalid static void RPCAcceptHandler(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ rpcserver.cpp:516:94: error: wrong number of template arguments (2, should be 1) static void RPCListen(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ In file included from /usr/local/include/boost/asio.hpp:30:0, from rpcprotocol.h:9, from rpcserver.h:10, from rpcserver.cpp:8: /usr/local/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: provided for ‘template class boost::asio::basic_socket_acceptor’ class basic_socket_acceptor ^ rpcserver.cpp:516:96: error: template argument 1 is invalid static void RPCListen(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ rpcserver.cpp: In function ‘void RPCListen(int, boost::asio::ssl::context&, bool)’: rpcserver.cpp:521:108: error: base operand of ‘->’ is not a pointer boost::shared_ptr<AcceptedConnectionImpl > conn(new AcceptedConnectionImpl(acceptor->get_io_service(), context, fUseSSL)); ^ rpcserver.cpp:523:13: error: base operand of ‘->’ is not a pointer acceptor->async_accept( ^ rpcserver.cpp: At global scope: rpcserver.cpp:539:101: error: wrong number of template arguments (2, should be 1) static void RPCAcceptHandler(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ In file included from /usr/local/include/boost/asio.hpp:30:0, from rpcprotocol.h:9, from rpcserver.h:10, from rpcserver.cpp:8: /usr/local/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: provided for ‘template class boost::asio::basic_socket_acceptor’ class basic_socket_acceptor ^ rpcserver.cpp:539:103: error: template argument 1 is invalid static void RPCAcceptHandler(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ rpcserver.cpp: In function ‘void RPCAcceptHandler(int, boost::asio::ssl::context&, bool, boost::shared_ptr, const boost::system::error_code&)’: rpcserver.cpp:546:60: error: base operand of ‘->’ is not a pointer if (error != asio::error::operation_aborted && acceptor->is_open()) ^ rpcserver.cpp:547:45: error: no matching function for call to ‘RPCListen(int&, boost::asio::ssl::context&, const bool&)’ RPCListen(acceptor, context, fUseSSL); ^ rpcserver.cpp:516:13: note: candidate: template<class Protocol, class SocketAcceptorService> void RPCListen(int, boost::asio::ssl::context&, bool) static void RPCListen(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ rpcserver.cpp:516:13: note: template argument deduction/substitution failed: rpcserver.cpp:547:45: note: couldn't deduce template parameter ‘Protocol’ RPCListen(acceptor, context, fUseSSL); ^ rpcserver.cpp: In function ‘void StartRPCThreads()’: rpcserver.cpp:627:77: error: no matching function for call to ‘boost::asio::ssl::context::context(boost::asio::io_service&, boost::asio::ssl::context_base::method)’ rpc_ssl_context = new ssl::context(rpc_io_service, ssl::context::sslv23); ^ In file included from /usr/local/include/boost/asio/ssl/context.hpp:757:0, from /usr/local/include/boost/asio/ssl.hpp:18, from rpcprotocol.h:10, from rpcserver.h:10, from rpcserver.cpp:8: /usr/local/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context&&) context::context(context&& other) ^ /usr/local/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate expects 1 argument, 2 provided /usr/local/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) context::context(context::method m) ^ /usr/local/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate expects 1 argument, 2 provided rpcserver.cpp:649:50: error: ‘class boost::asio::ssl::context’ has no member named ‘impl’ SSL_CTX_set_cipher_list(rpc_ssl_context->impl(), strCiphers.c_str()); ^ rpcserver.cpp:705:58: error: no matching function for call to ‘RPCListen(boost::shared_ptr<boost::asio::basic_socket_acceptor >&, boost::asio::ssl::context&, const bool&)’ RPCListen(acceptor, rpc_ssl_context, fUseSSL); ^ rpcserver.cpp:516:13: note: candidate: template<class Protocol, class SocketAcceptorService> void RPCListen(int, boost::asio::ssl::context&, bool) static void RPCListen(boost::shared_ptr<basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor, ^ rpcserver.cpp:516:13: note: template argument deduction/substitution failed: rpcserver.cpp:705:58: note: cannot convert ‘acceptor’ (type ‘boost::shared_ptr<boost::asio::basic_socket_acceptor >’) to type ‘int’ RPCListen(acceptor, *rpc_ssl_context, fUseSSL); ^ Makefile:4171: die Regel für Ziel „libbitcoin_server_a-rpcserver.o“ scheiterte make[2]: [libbitcoin_server_a-rpcserver.o] Fehler 1 make[2]: Verzeichnis „/home/fussel/dev/lux/src“ wird verlassen Makefile:7338: die Regel für Ziel „all-recursive“ scheiterte make[1]: [all-recursive] Fehler 1 make[1]: Verzeichnis „/home/fussel/dev/lux/src“ wird verlassen Makefile:605: die Regel für Ziel „all-recursive“ scheiterte make: *** [all-recursive] Fehler 1

any idea, what i am doing wrong

nguyenhoangtran11 commented 6 years ago

Which OS are you using? Which commands did you perform?

PXLFuSSeL commented 6 years ago

Ubuntu 16.04 ./autogen.sh ./configure --disable-tests ./make

PXLFuSSeL commented 6 years ago

./install-dependencies.sh

between autogen and configure

cpass78 commented 6 years ago

Yes build fails using supplied instructions here as well

nguyenhoangtran11 commented 6 years ago

The root cause for this issue is that PXLFuSSeL installed many boost version manually in the machine. After removing all boost versions and installed the expected one, the issue is solved now. So, I'd like to close this issue.