-
Notifications
You must be signed in to change notification settings - Fork 2.3k
upgrade boost to 1.77 and upgrade hunter to v0.23.320 #2396
base: master
Are you sure you want to change the base?
Conversation
…oost lib unavailble issue.
…oost lib unavailble issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In file included from include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from include/boost/smart_ptr/detail/yield_k.hpp:23,
from include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from include/boost/smart_ptr/detail/spinlock.hpp:42,
from include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from include/boost/smart_ptr/shared_ptr.hpp:29,
from include/boost/shared_ptr.hpp:17,
from include/boost/date_time/time_clock.hpp:17,
from include/boost/date_time/posix_time/posix_time_types.hpp:10,
from include/boost/asio/time_traits.hpp:23,
from include/boost/asio/detail/timer_queue_ptime.hpp:22,
from include/boost/asio/detail/deadline_timer_service.hpp:31,
from include/boost/asio/basic_deadline_timer.hpp:25,
from include/boost/asio.hpp:27,
from /build/source/libpoolprotocols/stratum/EthStratumClient.h:6,
from /build/source/libpoolprotocols/stratum/EthStratumClient.cpp:5:
include/boost/bind.hpp:36:1: note: '#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.'
/build/source/libpoolprotocols/getwork/EthGetworkClient.cpp: In member function 'void EthGetworkClient::begin_connect()':
/build/source/libpoolprotocols/getwork/EthGetworkClient.cpp:107: error: '_1' was not declared in this scope
107 | m_io_strand, m_io_strand.wrap(boost::bind(&EthGetworkClient::handle_connect, this, _1))));
|
Building with Boost 1.69 still works.
target_link_libraries(poolprotocols PRIVATE devcore ethminer-buildinfo ethash::ethash Boost::system jsoncpp_lib_static OpenSSL::SSL OpenSSL::Crypto) | ||
target_link_libraries(poolprotocols PRIVATE devcore ethminer-buildinfo ethash::ethash Boost::system jsoncpp_static OpenSSL::SSL OpenSSL::Crypto) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our linker can't find jsoncpp anymore now. Please mention changes like these in a changelog, readme or similar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated in e55fbdc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Builds and runs fine with boost 1.7 but it doesn't build with 1.6 anymore:
In file included from include/boost/bind.hpp:22,
from include/boost/thread/detail/thread.hpp:30,
from include/boost/thread/thread_only.hpp:22,
from include/boost/thread/thread.hpp:12,
from include/boost/thread.hpp:13,
from /build/source/libpoolprotocols/../libethcore/Miner.h:31,
from /build/source/libpoolprotocols/getwork/../PoolClient.h:7,
from /build/source/libpoolprotocols/getwork/EthGetworkClient.h:13,
from /build/source/libpoolprotocols/getwork/EthGetworkClient.cpp:1:
include/boost/bind/bind.hpp: In instantiation of 'void boost::_bi::list2<A1, A2>::operator()(boost::_bi::type<void>, F&, A&, int) [with F = boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>; A = boost::_bi::rrlist1<const boost::system::error_code&>; A1 = boost::_bi::value<EthGetworkClient*>; A2 = boost::_bi::value<std::_Placeholder<1> >]':
include/boost/bind/bind.hpp:1306:18: required from 'boost::_bi::bind_t<R, F, L>::result_type boost::_bi::bind_t<R, F, L>::operator()(A1&&) [with A1 = const boost::system::error_code&; R = void; F = boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>; L = boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > >; boost::_bi::bind_t<R, F, L>::result_type = void]'
include/boost/asio/detail/bind_handler.hpp:65:13: required from 'void boost::asio::detail::binder1<Handler, Arg1>::operator()() [with Handler = boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >; Arg1 = boost::system::error_code]'
include/boost/asio/handler_invoke_hook.hpp:69:11: required from 'void boost::asio::asio_handler_invoke(Function&, ...) [with Function = boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::system::error_code>]'
include/boost/asio/detail/handler_invoke_helpers.hpp:37:22: required from 'void boost_asio_handler_invoke_helpers::invoke(Function&, Context&) [with Function = boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::system::error_code>; Context = boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >]'
include/boost/asio/detail/bind_handler.hpp:106:44: required from 'void boost::asio::detail::asio_handler_invoke(Function&, boost::asio::detail::binder1<Handler, Arg1>*) [with Function = boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::system::error_code>; Handler = boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >; Arg1 = boost::system::error_code]'
include/boost/asio/detail/handler_invoke_helpers.hpp:37:22: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
include/boost/asio/detail/handler_work.hpp:55:23: required from 'void boost::asio::detail::handler_work<Handler, Executor>::complete(Function&, Handler&) [with Function = boost::asio::detail::binder1<boost::asio::executor_binder<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::asio::detail::is_continuation_if_running>, boost::asio::io_context::executor_type>, boost::system::error_code>; Handler = boost::asio::executor_binder<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::asio::detail::is_continuation_if_running>, boost::asio::io_context::executor_type>; Executor = boost::asio::io_context::executor_type]'
include/boost/asio/detail/reactive_socket_connect_op.hpp:100:17: required from 'static void boost::asio::detail::reactive_socket_connect_op<Handler>::do_complete(void*, boost::asio::detail::operation*, const boost::system::error_code&, std::size_t) [with Handler = boost::asio::executor_binder<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::asio::detail::is_continuation_if_running>, boost::asio::io_context::executor_type>; boost::asio::detail::operation = boost::asio::detail::scheduler_operation; std::size_t = long unsigned int]'
include/boost/asio/detail/reactive_socket_connect_op.hpp:66:38: required from 'boost::asio::detail::reactive_socket_connect_op<Handler>::reactive_socket_connect_op(boost::asio::detail::socket_type, Handler&) [with Handler = boost::asio::executor_binder<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::asio::detail::is_continuation_if_running>, boost::asio::io_context::executor_type>; boost::asio::detail::socket_type = int]'
include/boost/asio/detail/reactive_socket_service.hpp:509:11: required from 'void boost::asio::detail::reactive_socket_service<Protocol>::async_connect(boost::asio::detail::reactive_socket_service<Protocol>::implementation_type&, const endpoint_type&, Handler&) [with Handler = boost::asio::executor_binder<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::asio::detail::is_continuation_if_running>, boost::asio::io_context::executor_type>; Protocol = boost::asio::ip::tcp; boost::asio::detail::reactive_socket_service<Protocol>::endpoint_type = boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>]'
include/boost/asio/basic_socket.hpp:891:38: required from 'typename boost::asio::async_result<typename std::decay<_Functor>::type, void(boost::system::error_code)>::return_type boost::asio::basic_socket<Protocol>::async_connect(const endpoint_type&, ConnectHandler&&) [with ConnectHandler = boost::asio::executor_binder<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>, boost::_bi::list2<boost::_bi::value<EthGetworkClient*>, boost::_bi::value<std::_Placeholder<1> > > >, boost::asio::detail::is_continuation_if_running>, boost::asio::io_context::executor_type>; Protocol = boost::asio::ip::tcp; typename boost::asio::async_result<typename std::decay<_Functor>::type, void(boost::system::error_code)>::return_type = void; boost::asio::basic_socket<Protocol>::endpoint_type = boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>]'
/build/source/libpoolprotocols/getwork/EthGetworkClient.cpp:107:141: required from here
include/boost/bind/bind.hpp:319:35: error: no match for call to '(boost::_mfi::mf1<void, EthGetworkClient, const boost::system::error_code&>) (EthGetworkClient*&, std::_Placeholder<1>&)'
This isn't a concern for our use-case but distros with different release cycles and backport policies might have issues with the hard dependency on boost 1.7.
to be able to build this with VSC 2022 on windows 10, I had to change the version to 1.78 of boost (read that they added better support for it in 1.78). |
No description provided.