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

Fails to build against boost 1.66.0 #803

Closed
dark-saber opened this issue Jan 5, 2018 · 4 comments
Closed

Fails to build against boost 1.66.0 #803

dark-saber opened this issue Jan 5, 2018 · 4 comments

Comments

@dark-saber
Copy link

Both master and staging branches fail to build against new libboost 1.66.0 on Arch LInux. There are no issues with previous version (1.65.1).

src/bitcoinrpc.cpp:707:102: 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/include/boost/asio.hpp:30:0,
                 from src/bitcoinrpc.cpp:15:
/usr/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: provided for ‘template<class Protocol> class boost::asio::basic_socket_acceptor’
 class basic_socket_acceptor
       ^~~~~~~~~~~~~~~~~~~~~
src/bitcoinrpc.cpp:707:104: error: template argument 1 is invalid
 static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
                                                                                                        ^
src/bitcoinrpc.cpp:717:95: 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/include/boost/asio.hpp:30:0,
                 from src/bitcoinrpc.cpp:15:
/usr/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: provided for ‘template<class Protocol> class boost::asio::basic_socket_acceptor’
 class basic_socket_acceptor
       ^~~~~~~~~~~~~~~~~~~~~
src/bitcoinrpc.cpp:717:97: error: template argument 1 is invalid
 static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
                                                                                                 ^
src/bitcoinrpc.cpp: In function ‘void RPCListen(int, boost::asio::ssl::context&, bool)’:
src/bitcoinrpc.cpp:722:91: error: base operand of ‘->’ is not a pointer
     AcceptedConnectionImpl<Protocol>* conn = new AcceptedConnectionImpl<Protocol>(acceptor->get_io_service(), context, fUseSSL);
                                                                                           ^~
src/bitcoinrpc.cpp:724:13: error: base operand of ‘->’ is not a pointer
     acceptor->async_accept(
             ^~
src/bitcoinrpc.cpp: At global scope:
src/bitcoinrpc.cpp:739:102: 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/include/boost/asio.hpp:30:0,
                 from src/bitcoinrpc.cpp:15:
/usr/include/boost/asio/basic_socket_acceptor.hpp:73:7: note: provided for ‘template<class Protocol> class boost::asio::basic_socket_acceptor’
 class basic_socket_acceptor
       ^~~~~~~~~~~~~~~~~~~~~
src/bitcoinrpc.cpp:739:104: error: template argument 1 is invalid
 static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
                                                                                                        ^
src/bitcoinrpc.cpp: In function ‘void RPCAcceptHandler(int, boost::asio::ssl::context&, bool, AcceptedConnection*, const boost::system::error_code&)’:
src/bitcoinrpc.cpp:748:17: error: base operand of ‘->’ is not a pointer
      && acceptor->is_open())
                 ^~
src/bitcoinrpc.cpp:749:45: error: no matching function for call to ‘RPCListen(int&, boost::asio::ssl::context&, const bool&)’
         RPCListen(acceptor, context, fUseSSL);
                                             ^
src/bitcoinrpc.cpp:717: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,
             ^~~~~~~~~
src/bitcoinrpc.cpp:717:13: note:   template argument deduction/substitution failed:
src/bitcoinrpc.cpp:749:45: note:   couldn't deduce template parameter ‘Protocol’
         RPCListen(acceptor, context, fUseSSL);
                                             ^
src/bitcoinrpc.cpp: In function ‘void ThreadRPCServer2(void*)’:
src/bitcoinrpc.cpp:816:63: error: no matching function for call to ‘boost::asio::ssl::context::context(boost::asio::io_service&, boost::asio::ssl::context_base::method)’
     ssl::context context(*rpc_io_service, ssl::context::sslv23);
                                                               ^
In file included from /usr/include/boost/asio/ssl/context.hpp:757:0,
                 from /usr/include/boost/asio/ssl.hpp:18,
                 from src/bitcoinrpc.cpp:22:
/usr/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/include/boost/asio/ssl/impl/context.ipp:326:1: note:   candidate expects 1 argument, 2 provided
/usr/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/include/boost/asio/ssl/impl/context.ipp:63:1: note:   candidate expects 1 argument, 2 provided
src/bitcoinrpc.cpp:832:41: error: ‘class boost::asio::ssl::context’ has no member named ‘impl’
         SSL_CTX_set_cipher_list(context.impl(), strCiphers.c_str());
                                         ^~~~
src/bitcoinrpc.cpp:857:45: error: no matching function for call to ‘RPCListen(boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp> >&, boost::asio::ssl::context&, const bool&)’
         RPCListen(acceptor, context, fUseSSL);
                                             ^
src/bitcoinrpc.cpp:717: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,
             ^~~~~~~~~
src/bitcoinrpc.cpp:717:13: note:   template argument deduction/substitution failed:
src/bitcoinrpc.cpp:857:45: note:   couldn't deduce template parameter ‘Protocol’
         RPCListen(acceptor, context, fUseSSL);
                                             ^
src/bitcoinrpc.cpp:883:49: error: no matching function for call to ‘RPCListen(boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp> >&, boost::asio::ssl::context&, const bool&)’
             RPCListen(acceptor, context, fUseSSL);
                                                 ^
src/bitcoinrpc.cpp:717: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,
             ^~~~~~~~~
src/bitcoinrpc.cpp:717:13: note:   template argument deduction/substitution failed:
src/bitcoinrpc.cpp:883:49: note:   couldn't deduce template parameter ‘Protocol’
             RPCListen(acceptor, context, fUseSSL);
                                                 ^
src/bitcoinrpc.cpp: In function ‘json_spirit::Object CallRPC(const string&, const Array&)’:
src/bitcoinrpc.cpp:1128:58: error: no matching function for call to ‘boost::asio::ssl::context::context(boost::asio::io_service&, boost::asio::ssl::context_base::method)’
     ssl::context context(io_service, ssl::context::sslv23);
                                                          ^
In file included from /usr/include/boost/asio/ssl/context.hpp:757:0,
                 from /usr/include/boost/asio/ssl.hpp:18,
                 from src/bitcoinrpc.cpp:22:
/usr/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/include/boost/asio/ssl/impl/context.ipp:326:1: note:   candidate expects 1 argument, 2 provided
/usr/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/include/boost/asio/ssl/impl/context.ipp:63:1: note:   candidate expects 1 argument, 2 provided
g++ -c -pipe -fstack-protector-all --param ssp-buffer-size=1 -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -std=gnu++11 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fPIC -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DBOOST_NO_CXX11_SCOPED_ENUMS -DUSE_QRCODE -DNO_UPGRADE -DUSE_UPNP=1 -DMINIUPNP_STATICLIB -DUSE_DBUS -DNO_UPGRADE -DHAVE_BUILD_INFO -DQT_NO_DEBUG -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -Isrc -Isrc/json -Isrc/qt -Isrc/leveldb/include -Isrc/leveldb/helpers -isystem /usr/include/qt -isystem /usr/include/qt/QtCharts -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtConcurrent -isystem /usr/include/qt/QtDBus -isystem /usr/include/qt/QtCore -Ibuild -isystem /usr/include/libdrm -Ibuild -I/usr/lib/qt/mkspecs/linux-g++ -o build/rpcmining.o src/rpcmining.cpp
make: *** [Makefile:3397: build/bitcoinrpc.o] Error 1
make: *** Waiting for unfinished jobs....
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build gridcoinresearch-qt-staging
@dark-saber
Copy link
Author

Whoops, there is a pull request already: #800

@denravonska
Copy link
Member

Are you able to test the PR? Maybe we can include it in staging as well.

@dark-saber
Copy link
Author

I'll be happy to test the updated PR when it'll be ready.

@dark-saber
Copy link
Author

Everything builds fine now after 14c5880, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants