File 3029-boost-resolute-fix.patch of Package ceph-ceph-20.2.0+20260319.5bb32787

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 06f555e82..62dc29fb8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -717,8 +717,8 @@ option(WITH_SYSTEM_BOOST "require and build with system Boost" OFF)
 
 # Boost::thread depends on Boost::atomic, so list it explicitly.
 set(BOOST_COMPONENTS
-  atomic chrono thread system regex random program_options date_time
-  iostreams context coroutine url)
+  atomic chrono thread regex random program_options date_time
+  iostreams context coroutine url process)
 set(BOOST_HEADER_COMPONENTS container)
 
 if(WITH_MGR)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4aa86f1bc..0bc96beeb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -497,7 +497,6 @@ set(ceph_common_deps
   json_spirit erasure_code extblkdev arch crc32
   ${LIB_RESOLV}
   Boost::thread
-  Boost::system
   Boost::random
   Boost::program_options
   Boost::date_time
diff --git a/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake b/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake
index a2627c190..d666b5781 100644
--- a/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -1111,11 +1111,6 @@ macro(build_boost)
     set(BOOST_BUILD_PRODUCTS ${BOOST_STATIC_SYSTEM_LIBRARY}
                              ${BOOST_STATIC_FILESYSTEM_LIBRARY})
 
-    add_thirdparty_lib(Boost::system
-                       STATIC
-                       "${BOOST_STATIC_SYSTEM_LIBRARY}"
-                       INCLUDE_DIRECTORIES
-                       "${Boost_INCLUDE_DIR}")
     add_thirdparty_lib(Boost::filesystem
                        STATIC
                        "${BOOST_STATIC_FILESYSTEM_LIBRARY}"
@@ -1131,7 +1126,6 @@ macro(build_boost)
                         CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
                         BUILD_COMMAND ${BOOST_BUILD_COMMAND}
                         INSTALL_COMMAND "")
-    add_dependencies(Boost::system boost_ep)
     add_dependencies(Boost::filesystem boost_ep)
   else()
     externalproject_add(boost_ep
@@ -1285,7 +1279,7 @@ if(ARROW_USE_BOOST)
     unset(BUILD_SHARED_LIBS_KEEP)
   endif()
 
-  foreach(BOOST_LIBRARY Boost::headers Boost::filesystem Boost::system)
+  foreach(BOOST_LIBRARY Boost::headers Boost::filesystem)
     if(NOT TARGET ${BOOST_LIBRARY})
       continue()
     endif()
diff --git a/src/arrow/cpp/src/arrow/filesystem/CMakeLists.txt b/src/arrow/cpp/src/arrow/filesystem/CMakeLists.txt
index a42a8d0f8..0f139fa6d 100644
--- a/src/arrow/cpp/src/arrow/filesystem/CMakeLists.txt
+++ b/src/arrow/cpp/src/arrow/filesystem/CMakeLists.txt
@@ -43,8 +43,7 @@ if(ARROW_GCS)
                  EXTRA_LABELS
                  filesystem
                  EXTRA_LINK_LIBS
-                 Boost::filesystem
-                 Boost::system)
+                 Boost::filesystem)
 endif()
 
 if(ARROW_AZURE)
@@ -52,8 +51,7 @@ if(ARROW_AZURE)
                  EXTRA_LABELS
                  filesystem
                  EXTRA_LINK_LIBS
-                 Boost::filesystem
-                 Boost::system)
+                 Boost::filesystem)
 endif()
 
 if(ARROW_S3)
@@ -64,8 +62,7 @@ if(ARROW_S3)
                  EXTRA_LABELS
                  filesystem
                  EXTRA_LINK_LIBS
-                 Boost::filesystem
-                 Boost::system)
+                 Boost::filesystem)
   if(TARGET arrow-s3fs-test)
     set(ARROW_S3FS_TEST_COMPILE_DEFINITIONS)
     get_target_property(AWS_CPP_SDK_S3_TYPE aws-cpp-sdk-s3 TYPE)
@@ -103,8 +100,7 @@ if(ARROW_S3)
                         s3_test_util.cc
                         STATIC_LINK_LIBS
                         ${ARROW_BENCHMARK_LINK_LIBS}
-                        Boost::filesystem
-                        Boost::system)
+                        Boost::filesystem)
     if(ARROW_TEST_LINKAGE STREQUAL "static")
       target_link_libraries(arrow-filesystem-s3fs-benchmark PRIVATE parquet_static)
     else()
diff --git a/src/arrow/cpp/src/arrow/flight/CMakeLists.txt b/src/arrow/cpp/src/arrow/flight/CMakeLists.txt
index 91e0fbf91..f902fa991 100644
--- a/src/arrow/cpp/src/arrow/flight/CMakeLists.txt
+++ b/src/arrow/cpp/src/arrow/flight/CMakeLists.txt
@@ -66,7 +66,6 @@ list(APPEND
      ARROW_FLIGHT_TEST_INTERFACE_LIBS
      Boost::headers
      Boost::filesystem
-     Boost::system
      ${ARROW_GTEST_GMOCK})
 list(APPEND ARROW_FLIGHT_TEST_LINK_LIBS gRPC::grpc++)
 
diff --git a/src/arrow/cpp/src/arrow/io/CMakeLists.txt b/src/arrow/cpp/src/arrow/io/CMakeLists.txt
index d8224192c..5c4ccfef7 100644
--- a/src/arrow/cpp/src/arrow/io/CMakeLists.txt
+++ b/src/arrow/cpp/src/arrow/io/CMakeLists.txt
@@ -28,8 +28,7 @@ if(ARROW_HDFS)
                  PREFIX
                  "arrow-io"
                  EXTRA_LINK_LIBS
-                 Boost::filesystem
-                 Boost::system)
+                 Boost::filesystem)
 endif()
 
 add_arrow_test(memory_test PREFIX "arrow-io")
diff --git a/src/common/Graylog.cc b/src/common/Graylog.cc
index e9c2565df..9cc9ce3a1 100644
--- a/src/common/Graylog.cc
+++ b/src/common/Graylog.cc
@@ -37,7 +37,8 @@ void Graylog::set_destination(const std::string& host, int port)
 {
   try {
     boost::asio::ip::udp::resolver resolver(m_io_service);
-    m_endpoint = *resolver.resolve(host, std::to_string(port)).cbegin();
+    auto tmp = resolver.resolve(host, std::to_string(port));
+    m_endpoint = (*tmp.begin()).endpoint();
     m_log_dst_valid = true;
   } catch (boost::system::system_error const& e) {
     cerr << "Error resolving graylog destination: " << e.what() << std::endl;
diff --git a/src/common/TrackedOp.h b/src/common/TrackedOp.h
index c6e3ab50b..8b2859073 100644
--- a/src/common/TrackedOp.h
+++ b/src/common/TrackedOp.h
@@ -48,6 +48,8 @@ class TrackedOp;
 class OpHistory;
 
 typedef boost::intrusive_ptr<TrackedOp> TrackedOpRef;
+inline void intrusive_ptr_add_ref (TrackedOp *);
+inline void intrusive_ptr_release (TrackedOp *);
 
 class OpHistoryServiceThread : public Thread
 {
@@ -455,15 +457,6 @@ public:
     }
   }
 
-  // ref counting via intrusive_ptr, with special behavior on final
-  // put for historical op tracking
-  friend void intrusive_ptr_add_ref(TrackedOp *o) {
-    o->get();
-  }
-  friend void intrusive_ptr_release(TrackedOp *o) {
-    o->put();
-  }
-
 protected:
   virtual std::string _get_state_string() const {
     return events.empty() ? std::string() : std::string(events.rbegin()->str);
@@ -474,4 +467,12 @@ inline void OpTracker::default_dumper(const TrackedOp& op, Formatter* f) {
   op._dump(f);
 }
 
+inline void intrusive_ptr_add_ref(TrackedOp *op) {
+  op->get();
+}
+
+inline void intrusive_ptr_release(TrackedOp *op) {
+  op->put();
+}
+
 #endif
diff --git a/src/include/uuid.h b/src/include/uuid.h
index a5d63c372..3e9003a9c 100644
--- a/src/include/uuid.h
+++ b/src/include/uuid.h
@@ -9,6 +9,7 @@
 #include "encoding.h"
 #include "random.h"
 
+#include <cstdint>
 #include <ostream>
 #include <random>
 
@@ -60,11 +61,7 @@ struct uuid_d {
   }
 
   const char *bytes() const {
-#if BOOST_VERSION >= 108600
-    return (const char*)uuid.data();
-#else
-    return (const char*)uuid.data;
-#endif
+    return (const char *)(const uint8_t *)uuid.data;
   }
 
   void encode(::ceph::buffer::list::contiguous_appender& p) const {
diff --git a/src/librbd/migration/HttpClient.cc b/src/librbd/migration/HttpClient.cc
index d212981a9..a469357e1 100644
--- a/src/librbd/migration/HttpClient.cc
+++ b/src/librbd/migration/HttpClient.cc
@@ -682,7 +682,7 @@ protected:
 
     // ssl_stream object can't be reused after shut down -- move-in
     // a freshly constructed instance
-    m_stream = boost::asio::ssl::stream<boost::asio::ip::tcp::socket>(
+    new (&m_stream) boost::asio::ssl::stream<boost::asio::ip::tcp::socket>(
       http_client->m_strand, http_client->m_ssl_context);
   }
 
diff --git a/src/mgr/PyModule.cc b/src/mgr/PyModule.cc
index 5cd7cc521..af6f76449 100644
--- a/src/mgr/PyModule.cc
+++ b/src/mgr/PyModule.cc
@@ -34,26 +34,7 @@
 // definition for non-const static member
 std::string PyModule::mgr_store_prefix = "mgr/";
 
-// Courtesy of http://stackoverflow.com/questions/1418015/how-to-get-python-exception-text
-#define BOOST_BIND_GLOBAL_PLACEHOLDERS
-// Boost apparently can't be bothered to fix its own usage of its own
-// deprecated features.
-
-// Fix instances of "'BOOST_PP_ITERATION_02' was not declared in this scope; did
-// you mean 'BOOST_PP_ITERATION_05'" and related macro error bullshit that spans
-// 300 lines of errors
-//
-// Apparently you can't include boost/python stuff _and_ have this header
-// defined
-//
-// Thanks to the ceph-aur folks for the fix at:
-// https://github.com/bazaah/aur-ceph/commit/8c5cc7d8deec002f7596b6d0860859a0a718f12b 
-#undef BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#include <boost/python/extract.hpp>
-#include <boost/python/import.hpp>
-#include <boost/python/object.hpp>
-#undef BOOST_BIND_GLOBAL_PLACEHOLDERS
+#include <boost/python.hpp>
 #include <boost/algorithm/string/predicate.hpp>
 #include "include/ceph_assert.h"  // boost clobbers this
 
diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h
index 51f1687fc..88aea2f14 100644
--- a/src/osdc/Objecter.h
+++ b/src/osdc/Objecter.h
@@ -2763,7 +2763,7 @@ private:
 	std::unique_lock l(rwlock);
 	if (osdmap->get_epoch()) {
 	  l.unlock();
-	  boost::asio::post(std::move(handler));
+      boost::asio::post(service.get_executor(), std::move(handler));
 	} else {
 	  auto e = boost::asio::get_associated_executor(
 	    handler, service.get_executor());
@@ -2871,9 +2871,10 @@ public:
     return boost::asio::async_initiate<decltype(consigned), OpSignature>(
       [epoch, this](auto handler) {
 	if (osdmap->get_epoch() >= epoch) {
-	  boost::asio::post(boost::asio::append(
-			      std::move(handler),
-			      boost::system::error_code{}));
+	  boost::asio::post(service.get_executor(),
+                        boost::asio::append(
+			                std::move(handler),
+			                boost::system::error_code{}));
 	} else {
 	  monc->get_version(
 	    "osdmap",
diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt
index a45845213..2020ae652 100644
--- a/src/rgw/CMakeLists.txt
+++ b/src/rgw/CMakeLists.txt
@@ -350,7 +350,7 @@ if(WITH_OPENLDAP)
 endif()
 if(WITH_RADOSGW_LUA_PACKAGES)
   target_link_libraries(rgw_common
-    PRIVATE Boost::filesystem StdFilesystem::filesystem)
+    PRIVATE Boost::filesystem Boost::process StdFilesystem::filesystem)
 endif()
 
 if(WITH_LTTNG)
diff --git a/src/rgw/rgw_lua.cc b/src/rgw/rgw_lua.cc
index b9c74cf73..5b128b304 100644
--- a/src/rgw/rgw_lua.cc
+++ b/src/rgw/rgw_lua.cc
@@ -8,7 +8,26 @@
 #include "rgw_lua.h"
 #ifdef WITH_RADOSGW_LUA_PACKAGES
 #include <filesystem>
-#include <boost/process.hpp>
+#include <boost/process/v1/args.hpp>
+#include <boost/process/v1/async.hpp>
+#include <boost/process/v1/async_pipe.hpp>
+#include <boost/process/v1/async_system.hpp>
+#include <boost/process/v1/child.hpp>
+#include <boost/process/v1/cmd.hpp>
+#include <boost/process/v1/env.hpp>
+#include <boost/process/v1/environment.hpp>
+#include <boost/process/v1/error.hpp>
+#include <boost/process/v1/exception.hpp>
+#include <boost/process/v1/exe.hpp>
+#include <boost/process/v1/extend.hpp>
+#include <boost/process/v1/filesystem.hpp>
+#include <boost/process/v1/group.hpp>
+#include <boost/process/v1/handles.hpp>
+#include <boost/process/v1/io.hpp>
+#include <boost/process/v1/locale.hpp>
+#include <boost/process/v1/pipe.hpp>
+#include <boost/process/v1/search_path.hpp>
+#include <boost/process/v1/start_dir.hpp>
 #endif
 
 #define dout_subsys ceph_subsys_rgw
@@ -96,7 +115,7 @@ int delete_script(const DoutPrefixProvider *dpp, sal::LuaManager* manager, const
 
 #ifdef WITH_RADOSGW_LUA_PACKAGES
 
-namespace bp = boost::process;
+namespace bp = boost::process::v1;
 
 int add_package(const DoutPrefixProvider* dpp, rgw::sal::Driver* driver, optional_yield y, const std::string& package_name, bool allow_compilation)
 {
@@ -142,8 +161,6 @@ int remove_package(const DoutPrefixProvider *dpp, rgw::sal::Driver* driver, opti
   return driver->get_lua_manager("")->remove_package(dpp, y, package_name);
 }
 
-namespace bp = boost::process;
-
 int list_packages(const DoutPrefixProvider *dpp, rgw::sal::Driver* driver, optional_yield y, packages_t& packages)
 {
   return driver->get_lua_manager("")->list_packages(dpp, y, packages);
diff --git a/src/rgw/rgw_ssd_driver.cc b/src/rgw/rgw_ssd_driver.cc
index 3475848c6..0ca12af75 100644
--- a/src/rgw/rgw_ssd_driver.cc
+++ b/src/rgw/rgw_ssd_driver.cc
@@ -9,6 +9,8 @@
 
 #include <filesystem>
 #include <errno.h>
+#include <boost/asio/system_executor.hpp>
+
 namespace efs = std::filesystem;
 
 namespace rgw { namespace cache {
diff --git a/src/rocksdb/db/blob/blob_file_meta.h b/src/rocksdb/db/blob/blob_file_meta.h
index d688825c3..fbbf54cf4 100644
--- a/src/rocksdb/db/blob/blob_file_meta.h
+++ b/src/rocksdb/db/blob/blob_file_meta.h
@@ -6,6 +6,7 @@
 #pragma once
 
 #include <cassert>
+#include <cstdint>
 #include <iosfwd>
 #include <memory>
 #include <string>
diff --git a/src/rocksdb/include/rocksdb/trace_record.h b/src/rocksdb/include/rocksdb/trace_record.h
index e6c9b7e3b..10aa4deec 100644
--- a/src/rocksdb/include/rocksdb/trace_record.h
+++ b/src/rocksdb/include/rocksdb/trace_record.h
@@ -5,6 +5,7 @@
 
 #pragma once
 
+#include <cstdint>
 #include <memory>
 #include <string>
 #include <vector>
diff --git a/src/rocksdb/include/rocksdb/trace_record_result.h b/src/rocksdb/include/rocksdb/trace_record_result.h
index 0cd0004a6..629f06710 100644
--- a/src/rocksdb/include/rocksdb/trace_record_result.h
+++ b/src/rocksdb/include/rocksdb/trace_record_result.h
@@ -5,6 +5,7 @@
 
 #pragma once
 
+#include <cstdint>
 #include <string>
 #include <vector>
 
diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt
index a0dae3777..f3addde7f 100644
--- a/src/test/common/CMakeLists.txt
+++ b/src/test/common/CMakeLists.txt
@@ -379,44 +379,44 @@ add_ceph_unittest(unittest_hobject)
 
 add_executable(unittest_async_completion test_async_completion.cc)
 add_ceph_unittest(unittest_async_completion)
-target_link_libraries(unittest_async_completion ceph-common Boost::system)
+target_link_libraries(unittest_async_completion ceph-common)
 
 
 add_executable(unittest_async_max_concurrent_for_each test_async_max_concurrent_for_each.cc)
 add_ceph_unittest(unittest_async_max_concurrent_for_each)
-target_link_libraries(unittest_async_max_concurrent_for_each ceph-common Boost::system Boost::context)
+target_link_libraries(unittest_async_max_concurrent_for_each ceph-common Boost::context)
 
 if(NOT WIN32)
 add_executable(unittest_async_co_spawn_group test_async_co_spawn_group.cc)
 add_ceph_unittest(unittest_async_co_spawn_group)
-target_link_libraries(unittest_async_co_spawn_group ceph-common Boost::system)
+target_link_libraries(unittest_async_co_spawn_group ceph-common)
 
 add_executable(unittest_async_co_throttle test_async_co_throttle.cc)
 add_ceph_unittest(unittest_async_co_throttle)
-target_link_libraries(unittest_async_co_throttle ceph-common Boost::system)
+target_link_libraries(unittest_async_co_throttle ceph-common)
 endif(NOT WIN32)
 
 add_executable(unittest_async_shared_mutex test_async_shared_mutex.cc)
 add_ceph_unittest(unittest_async_shared_mutex)
-target_link_libraries(unittest_async_shared_mutex ceph-common Boost::system)
+target_link_libraries(unittest_async_shared_mutex ceph-common)
 
 
 add_executable(unittest_async_spawn_throttle test_async_spawn_throttle.cc)
 add_ceph_unittest(unittest_async_spawn_throttle)
-target_link_libraries(unittest_async_spawn_throttle ceph-common Boost::system Boost::context)
+target_link_libraries(unittest_async_spawn_throttle ceph-common Boost::context)
 
 add_executable(unittest_async_yield_waiter test_async_yield_waiter.cc)
 add_ceph_unittest(unittest_async_yield_waiter)
-target_link_libraries(unittest_async_yield_waiter ceph-common Boost::system Boost::context)
+target_link_libraries(unittest_async_yield_waiter ceph-common Boost::context)
 
 
 add_executable(unittest_async_parallel_for_each test_async_parallel_for_each.cc)
 add_ceph_unittest(unittest_async_parallel_for_each)
-target_link_libraries(unittest_async_parallel_for_each ceph-common Boost::system)
+target_link_libraries(unittest_async_parallel_for_each ceph-common)
 
 add_executable(unittest_async_spawn_group test_async_spawn_group.cc)
 add_ceph_unittest(unittest_async_spawn_group)
-target_link_libraries(unittest_async_spawn_group ceph-common Boost::system)
+target_link_libraries(unittest_async_spawn_group ceph-common)
 
 add_executable(unittest_cdc test_cdc.cc
   $<TARGET_OBJECTS:unit-main>)
@@ -437,7 +437,7 @@ add_ceph_unittest(unittest_fault_injector)
 
 add_executable(unittest_blocked_completion test_blocked_completion.cc)
 add_ceph_unittest(unittest_blocked_completion)
-target_link_libraries(unittest_blocked_completion Boost::system GTest::GTest)
+target_link_libraries(unittest_blocked_completion GTest::GTest)
 
 add_executable(unittest_allocate_unique test_allocate_unique.cc)
 add_ceph_unittest(unittest_allocate_unique)
@@ -492,14 +492,14 @@ set_tests_properties(unittest_decode_start_v_checker_expect_failure
 endif(0)
 
 add_executable(unittest_async_call test_async_call.cc)
-target_link_libraries(unittest_async_call ceph-common Boost::system
+target_link_libraries(unittest_async_call ceph-common
   GTest::GTest)
 add_ceph_unittest(unittest_async_call)
 
 
 add_executable(unittest_librados_completion test_librados_completion.cc)
 target_link_libraries(unittest_librados_completion librados ceph-common
-  Boost::system GTest::GTest)
+  GTest::GTest)
 add_ceph_unittest(unittest_librados_completion)
 
 add_executable(unittest_async_cond test_async_cond.cc)
diff --git a/src/test/common/test_blocked_completion.cc b/src/test/common/test_blocked_completion.cc
index 72def49a1..9de26368b 100644
--- a/src/test/common/test_blocked_completion.cc
+++ b/src/test/common/test_blocked_completion.cc
@@ -72,9 +72,10 @@ auto id(const Executor& executor, CompletionToken&& token,
 	Args&& ...args)
 {
   return asio::async_initiate<CompletionToken, void(Args...)>(
-    []<typename ...Args2>(auto handler, Args2&& ...args2) mutable {
-      asio::post(asio::append(std::move(handler),
-			      std::forward<Args2>(args2)...));
+    [executor]<typename ...Args2>(auto handler, Args2&& ...args2) mutable {
+      asio::post(executor,
+                 asio::append(std::move(handler),
+			                  std::forward<Args2>(args2)...));
     }, token, std::forward<Args>(args)...);
 }
 
diff --git a/src/test/lazy-omap-stats/CMakeLists.txt b/src/test/lazy-omap-stats/CMakeLists.txt
index 2143a092f..93ddc03a2 100644
--- a/src/test/lazy-omap-stats/CMakeLists.txt
+++ b/src/test/lazy-omap-stats/CMakeLists.txt
@@ -4,7 +4,7 @@ add_executable(ceph_test_lazy_omap_stats
   main.cc
   lazy_omap_stats_test.cc)
 target_link_libraries(ceph_test_lazy_omap_stats
-  librados Boost::system Boost::regex ceph-common ${UNITTEST_LIBS})
+  librados Boost::regex ceph-common ${UNITTEST_LIBS})
 install(TARGETS
   ceph_test_lazy_omap_stats
   DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/src/test/mon/CMakeLists.txt b/src/test/mon/CMakeLists.txt
index 8c271407e..5035e4c12 100644
--- a/src/test/mon/CMakeLists.txt
+++ b/src/test/mon/CMakeLists.txt
@@ -57,7 +57,7 @@ target_link_libraries(unittest_mon_montypes mon global)
 # ceph_test_mon_memory_target
 add_executable(ceph_test_mon_memory_target
   test_mon_memory_target.cc)
-target_link_libraries(ceph_test_mon_memory_target Boost::system Threads::Threads)
+target_link_libraries(ceph_test_mon_memory_target Threads::Threads)
 set_target_properties(ceph_test_mon_memory_target PROPERTIES
   SKIP_RPATH TRUE
   INSTALL_RPATH "")
diff --git a/src/test/neorados/CMakeLists.txt b/src/test/neorados/CMakeLists.txt
index 968ef609c..f40efd808 100644
--- a/src/test/neorados/CMakeLists.txt
+++ b/src/test/neorados/CMakeLists.txt
@@ -11,7 +11,7 @@ target_link_libraries(ceph_test_neorados_start_stop global libneorados
   ${unittest_libs})
 
 add_executable(ceph_test_neorados_completions completions.cc)
-target_link_libraries(ceph_test_neorados_completions Boost::system pthread
+target_link_libraries(ceph_test_neorados_completions pthread
   ${unittest_libs})
 
 add_executable(ceph_test_neorados_op_speed op_speed.cc)
diff --git a/src/tools/immutable_object_cache/CacheServer.cc b/src/tools/immutable_object_cache/CacheServer.cc
index a4c4e3bc3..43765fa97 100644
--- a/src/tools/immutable_object_cache/CacheServer.cc
+++ b/src/tools/immutable_object_cache/CacheServer.cc
@@ -36,7 +36,7 @@ int CacheServer::run() {
   }
 
   try {
-    ret = m_io_service.run();
+    m_io_service.run();
   } catch (const std::exception& e) {
     ldout(cct, 1) << "m_io_service run fails: " << e.what() << dendl;
     return -1;
openSUSE Build Service is sponsored by