diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt index 3d2ffc066efb6..9ead32b9c7483 100644 --- a/src/crimson/CMakeLists.txt +++ b/src/crimson/CMakeLists.txt @@ -1,6 +1,13 @@ add_library(crimson::cflags INTERFACE IMPORTED) +set(crimson_cflag_definitions "WITH_SEASTAR=1") +# disable concepts to address https://github.com/boostorg/asio/issues/312 +if((CMAKE_CXX_COMPILER_ID STREQUAL GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10) OR + (CMAKE_CXX_COMPILER_ID STREQUAL Clang)) + list(APPEND crimson_cflag_definitions + "BOOST_ASIO_DISABLE_CONCEPTS") +endif() set_target_properties(crimson::cflags PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "WITH_SEASTAR=1" + INTERFACE_COMPILE_DEFINITIONS "${crimson_cflag_definitions}" INTERFACE_LINK_LIBRARIES Seastar::seastar) set(crimson_common_srcs diff --git a/src/crimson/common/config_proxy.h b/src/crimson/common/config_proxy.h index 0f78e42e6fe68..ba2c6ec01153a 100644 --- a/src/crimson/common/config_proxy.h +++ b/src/crimson/common/config_proxy.h @@ -67,10 +67,9 @@ class ConfigProxy : public seastar::peering_sharded_service ObserverMgr::rev_obs_map rev_obs; proxy.obs_mgr.for_each_change(proxy.values->changed, proxy, - [&rev_obs](md_config_obs_t *obs, - const std::string &key) { - rev_obs[obs].insert(key); - }, nullptr); + [&rev_obs](ConfigObserver *obs, const std::string& key) { + rev_obs[obs].insert(key); + }, nullptr); for (auto& obs_keys : rev_obs) { obs_keys.first->handle_conf_change(proxy, obs_keys.second); }