From a09e08c69f4e398c63fb6bd512170d0384f8d4cf Mon Sep 17 00:00:00 2001 From: Vulcan <93451215+trholding@users.noreply.github.com> Date: Thu, 13 Feb 2025 19:55:31 +0530 Subject: [PATCH] Build fix: support boost 1.87+ The cray simulator would not start after a system wide boost update. Re-building also failed as the code relied on stuff that has been depreciated in boost 1.87. This commit provides a fix. --- simulator/httpd/server.cpp | 2 +- simulator/httpd/server.hpp | 2 +- simulator/sim_lib/console.cpp | 4 ++-- simulator/sim_lib/console.h | 2 +- simulator/sim_lib/iop_concentrator.cpp | 4 ++-- simulator/sim_lib/iop_concentrator.h | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/simulator/httpd/server.cpp b/simulator/httpd/server.cpp index 7c82d7f..623c371 100644 --- a/simulator/httpd/server.cpp +++ b/simulator/httpd/server.cpp @@ -42,7 +42,7 @@ void server::setup(const std::string& address, const std::string& port) boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), boost::lexical_cast(port)); if (address != "*") { boost::asio::ip::tcp::resolver resolver(io_service_); - endpoint = *resolver.resolve({ address, port }); + endpoint = *resolver.resolve(address, port).begin(); } acceptor_.open(endpoint.protocol()); acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); diff --git a/simulator/httpd/server.hpp b/simulator/httpd/server.hpp index 592460f..4974827 100644 --- a/simulator/httpd/server.hpp +++ b/simulator/httpd/server.hpp @@ -45,7 +45,7 @@ private: void do_await_stop(); /// The io_service used to perform asynchronous operations. - boost::asio::io_service io_service_; + boost::asio::io_context io_service_; /// The signal_set is used to register for process termination notifications. boost::asio::signal_set signals_; diff --git a/simulator/sim_lib/console.cpp b/simulator/sim_lib/console.cpp index 2cfc858..ae8f34d 100644 --- a/simulator/sim_lib/console.cpp +++ b/simulator/sim_lib/console.cpp @@ -203,7 +203,7 @@ void Console_c::Tick() { } void Console_c::Poll() { - mIoService.reset(); + mIoService.restart(); mIoService.poll(); } @@ -467,7 +467,7 @@ void Console_c::AcceptIfNeeded(bool aSilent) { } } -boost::asio::io_service Console_c::mIoService; +boost::asio::io_context Console_c::mIoService; #if defined(PARTIAL_DEBUG) && defined(_MSC_VER) #pragma optimize ("", on) diff --git a/simulator/sim_lib/console.h b/simulator/sim_lib/console.h index 1f00656..183d640 100644 --- a/simulator/sim_lib/console.h +++ b/simulator/sim_lib/console.h @@ -101,7 +101,7 @@ protected: boost::optional mConsoleCommand; boost::optional mNewTerminalCommand; - static boost::asio::io_service mIoService; + static boost::asio::io_context mIoService; std::shared_ptr mServerSocket; std::shared_ptr mConnectionSocket; boost::array mReceiveBuf; diff --git a/simulator/sim_lib/iop_concentrator.cpp b/simulator/sim_lib/iop_concentrator.cpp index 2663b15..f8ad62d 100644 --- a/simulator/sim_lib/iop_concentrator.cpp +++ b/simulator/sim_lib/iop_concentrator.cpp @@ -78,7 +78,7 @@ void IopConcentrator_c::ProcessReceivedBytes() { size_t i; size_t size = mReceiveBuf.size(); while (size > 0) { - const uint8_t *data = boost::asio::buffer_cast(mReceiveBuf.data()); + const uint8_t *data = static_cast(mReceiveBuf.data().data()); switch (mRcvState) { case State_RcvLcpPduLength: // process 4-byte PDU length value if (size < 4) return; @@ -325,7 +325,7 @@ void IopConcentrator_c::Tick() { } } -boost::asio::io_service IopConcentrator_c::mIoService; +boost::asio::io_context IopConcentrator_c::mIoService; ///////////////////////////////////////////////////////// // IopConcentratorChannel_c diff --git a/simulator/sim_lib/iop_concentrator.h b/simulator/sim_lib/iop_concentrator.h index 52a3dd9..5fd28eb 100644 --- a/simulator/sim_lib/iop_concentrator.h +++ b/simulator/sim_lib/iop_concentrator.h @@ -147,7 +147,7 @@ protected: std::shared_ptr mConnectionSocket; std::vector mFromCrayData; IopConcentratorChannel_c mInputChannel; - static boost::asio::io_service mIoService; + static boost::asio::io_context mIoService; uint8_t mLastRcvdMessageCode; uint8_t mLastXmitMessageCode; std::shared_ptr mListenSocket;