diff options
author | Casey Bodley <cbodley@users.noreply.github.com> | 2024-06-27 17:35:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-27 17:35:32 +0200 |
commit | 0a1d0933ad393691b894e83dfc824927da201b46 (patch) | |
tree | febe866d64976bc7e4d21c9c649c23aae7e838c6 | |
parent | Merge PR #53755 into main (diff) | |
parent | submodule: Remove boost_redis submodule (diff) | |
download | ceph-0a1d0933ad393691b894e83dfc824927da201b46.tar.xz ceph-0a1d0933ad393691b894e83dfc824927da201b46.zip |
Merge pull request #57581 from adamemerson/wip-boost-1.85
build: Bump boost version to 1.85
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | CMakeLists.txt | 16 | ||||
-rw-r--r-- | cmake/modules/BuildBoost.cmake | 13 | ||||
-rw-r--r-- | cmake/modules/FindBoost.cmake | 18 | ||||
-rwxr-xr-x | install-deps.sh | 5 | ||||
-rwxr-xr-x | make-dist | 4 | ||||
m--------- | src/boost_redis | 0 | ||||
-rw-r--r-- | src/mds/BoostUrlImpl.cc | 8 | ||||
-rw-r--r-- | src/mds/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/rgw/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/test/mds/CMakeLists.txt | 3 | ||||
-rwxr-xr-x | win32_deps_build.sh | 27 |
12 files changed, 41 insertions, 63 deletions
diff --git a/.gitmodules b/.gitmodules index 0f10aaa96ed..7aa350efe28 100644 --- a/.gitmodules +++ b/.gitmodules @@ -75,6 +75,3 @@ [submodule "src/qatzip"] path = src/qatzip url = https://github.com/intel/qatzip.git -[submodule "src/boost_redis"] - path = src/boost_redis - url = https://github.com/boostorg/redis.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 62aaad94dc8..a6e7c0b3d6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -282,7 +282,10 @@ if(WITH_LIBURING) build_uring() endif() # enable uring in boost::asio - add_compile_definitions("BOOST_ASIO_HAS_IO_URING") + + if(CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL "5.10") + add_compile_definitions("BOOST_ASIO_HAS_IO_URING") + endif() endif() CMAKE_DEPENDENT_OPTION(WITH_BLUESTORE_PMEM "Enable PMDK libraries" OFF @@ -699,7 +702,7 @@ 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) + iostreams context coroutine url) set(BOOST_HEADER_COMPONENTS container) if(WITH_MGR) @@ -728,7 +731,7 @@ if(WITH_SYSTEM_BOOST) if(BOOST_ROOT AND CMAKE_LIBRARY_ARCHITECTURE) set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}") endif() - find_package(Boost 1.82 COMPONENTS ${BOOST_COMPONENTS} REQUIRED) + find_package(Boost 1.85 COMPONENTS ${BOOST_COMPONENTS} REQUIRED) if(NOT ENABLE_SHARED) set_property(TARGET Boost::iostreams APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) @@ -742,16 +745,11 @@ else() set(BOOST_J ${DEFAULT_BOOST_J} CACHE STRING "max jobs for Boost build") # override w/-DBOOST_J=<n> set(Boost_USE_STATIC_LIBS ON) include(BuildBoost) - build_boost(1.82 + build_boost(1.85 COMPONENTS ${BOOST_COMPONENTS} ${BOOST_HEADER_COMPONENTS}) endif() include_directories(BEFORE SYSTEM ${Boost_INCLUDE_DIRS}) -if(Boost_VERSION VERSION_LESS 1.84) - # This is a workaround for https://github.com/boostorg/phoenix/issues/111 - add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-DBOOST_PHOENIX_STL_TUPLE_H_>) -endif() - # dashboard angular2 frontend option(WITH_MGR_DASHBOARD_FRONTEND "Build the mgr/dashboard frontend using `npm`" ON) option(WITH_SYSTEM_NPM "Assume that dashboard build tools already installed through packages" OFF) diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake index 3b3b2688426..380c55445d6 100644 --- a/cmake/modules/BuildBoost.cmake +++ b/cmake/modules/BuildBoost.cmake @@ -155,18 +155,19 @@ function(do_build_boost root_dir version) check_boost_version("${PROJECT_SOURCE_DIR}/src/boost" ${version}) set(source_dir SOURCE_DIR "${PROJECT_SOURCE_DIR}/src/boost") - elseif(version VERSION_GREATER 1.82) + elseif(version VERSION_GREATER 1.85) message(FATAL_ERROR "Unknown BOOST_REQUESTED_VERSION: ${version}") else() message(STATUS "boost will be downloaded...") # NOTE: If you change this version number make sure the package is available # at the three URLs below (may involve uploading to download.ceph.com) - set(boost_version 1.82.0) - set(boost_sha256 a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6) + set(boost_version 1.85.0) + set(boost_sha256 7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617) string(REPLACE "." "_" boost_version_underscore ${boost_version} ) - string(JOIN " " boost_url - https://boostorg.jfrog.io/artifactory/main/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2 - https://download.ceph.com/qa/boost_${boost_version_underscore}.tar.bz2) + list(APPEND boost_url + https://download.ceph.com/qa/boost_${boost_version_underscore}.tar.bz2 + https://archives.boost.io//release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2 + https://boostorg.jfrog.io/artifactory/main/release/${boost_version}/source/boost_${boost_version_underscore}.tar.bz2) set(source_dir URL ${boost_url} URL_HASH SHA256=${boost_sha256} diff --git a/cmake/modules/FindBoost.cmake b/cmake/modules/FindBoost.cmake index ba63e24ddba..6d9b87f844d 100644 --- a/cmake/modules/FindBoost.cmake +++ b/cmake/modules/FindBoost.cmake @@ -1380,6 +1380,21 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret) set(_Boost_TIMER_DEPENDENCIES chrono) set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono atomic) set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) + elseif(Boost_VERSION_STRING VERSION_LESS 1.84.0) + set(_Boost_CONTRACT_DEPENDENCIES thread chrono) + set(_Boost_COROUTINE_DEPENDENCIES context) + set(_Boost_FIBER_DEPENDENCIES context) + set(_Boost_IOSTREAMS_DEPENDENCIES regex) + set(_Boost_JSON_DEPENDENCIES container) + set(_Boost_LOG_DEPENDENCIES log_setup filesystem thread regex chrono atomic) + set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l) + set(_Boost_MPI_DEPENDENCIES serialization) + set(_Boost_MPI_PYTHON_DEPENDENCIES python${component_python_version} mpi serialization) + set(_Boost_NUMPY_DEPENDENCIES python${component_python_version}) + set(_Boost_THREAD_DEPENDENCIES chrono atomic) + set(_Boost_TIMER_DEPENDENCIES chrono) + set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono atomic) + set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) else() set(_Boost_CONTRACT_DEPENDENCIES thread chrono) set(_Boost_COROUTINE_DEPENDENCIES context) @@ -1394,7 +1409,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret) set(_Boost_THREAD_DEPENDENCIES chrono atomic) set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono atomic) set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) - if(Boost_VERSION_STRING VERSION_GREATER_EQUAL 1.84.0 AND NOT Boost_NO_WARN_NEW_VERSIONS) + if(Boost_VERSION_STRING VERSION_GREATER_EQUAL 1.86.0 AND NOT Boost_NO_WARN_NEW_VERSIONS) message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets") endif() endif() @@ -1669,6 +1684,7 @@ else() # _Boost_COMPONENT_HEADERS. See the instructions at the top of # _Boost_COMPONENT_DEPENDENCIES. set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS} + "1.85.0" "1.85" "1.84.0" "1.84" "1.83.0" "1.83" "1.82.0" "1.82" "1.81.0" "1.81" "1.80.0" "1.80" "1.79.0" "1.79" "1.78.0" "1.78" "1.77.0" "1.77" "1.76.0" "1.76" "1.75.0" "1.75" "1.74.0" "1.74" "1.73.0" "1.73" "1.72.0" "1.72" "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69" diff --git a/install-deps.sh b/install-deps.sh index 0f112d2d92d..d5eafba48cc 100755 --- a/install-deps.sh +++ b/install-deps.sh @@ -141,7 +141,7 @@ function install_pkg_on_ubuntu { fi } -boost_ver=1.82 +boost_ver=1.85 function clean_boost_on_ubuntu { ci_debug "Running clean_boost_on_ubuntu() in install-deps.sh" @@ -198,7 +198,7 @@ function install_boost_on_ubuntu { fi local codename=$1 local project=libboost - local sha1=2804368f5b807ba8334b0ccfeb8af191edeb996f + local sha1=55f34507d322314fb0294629b7c0bb406de07aec install_pkg_on_ubuntu \ $project \ $sha1 \ @@ -220,6 +220,7 @@ function install_boost_on_ubuntu { ceph-libboost-test${boost_ver}-dev \ ceph-libboost-thread${boost_ver}-dev \ ceph-libboost-timer${boost_ver}-dev \ + ceph-libboost-url${boost_ver}-dev \ || ci_debug "ceph-libboost package unavailable, you can build the submodule" } diff --git a/make-dist b/make-dist index fde1773c9b1..e874436a5e7 100755 --- a/make-dist +++ b/make-dist @@ -191,8 +191,8 @@ ln -s . $outfile tar cvf $outfile.version.tar $outfile/src/.git_version $outfile/ceph.spec # NOTE: If you change this version number make sure the package is available # at the three URLs referenced below (may involve uploading to download.ceph.com) -boost_version=1.82.0 -download_boost $boost_version a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 \ +boost_version=1.85.0 +download_boost $boost_version 7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617 \ https://download.ceph.com/qa \ https://archives.boost.io/release/$boost_version/source download_liburing 2.5 456f5f882165630f0dc7b75e8fd53bd01a955d5d4720729b4323097e6e9f2a98 \ diff --git a/src/boost_redis b/src/boost_redis deleted file mode 160000 -Subproject 78792199efad17f1756603f929daa2930c45694 diff --git a/src/mds/BoostUrlImpl.cc b/src/mds/BoostUrlImpl.cc deleted file mode 100644 index 479f4c6d75d..00000000000 --- a/src/mds/BoostUrlImpl.cc +++ /dev/null @@ -1,8 +0,0 @@ -/* - * https://www.boost.org/doc/libs/1_82_0/libs/url/doc/html/url/overview.html#url.overview.requirements - * - * To use the library as header-only; that is, to eliminate the requirement - * to link a program to a static or dynamic Boost.URL library, - * simply place the following line in exactly one source file in your project. - */ -#include <boost/url/src.hpp> diff --git a/src/mds/CMakeLists.txt b/src/mds/CMakeLists.txt index ffa9dc28d8a..f3980c7e04b 100644 --- a/src/mds/CMakeLists.txt +++ b/src/mds/CMakeLists.txt @@ -45,13 +45,12 @@ set(mds_srcs QuiesceDbManager.cc QuiesceAgent.cc MDSRankQuiesce.cc - BoostUrlImpl.cc ${CMAKE_SOURCE_DIR}/src/common/TrackedOp.cc ${CMAKE_SOURCE_DIR}/src/common/MemoryModel.cc ${CMAKE_SOURCE_DIR}/src/osdc/Journaler.cc ${CMAKE_SOURCE_DIR}/src/mgr/MDSPerfMetricTypes.cc) add_library(mds STATIC ${mds_srcs}) target_link_libraries(mds PRIVATE - legacy-option-headers + legacy-option-headers Boost::url heap_profiler cpu_profiler osdc ${LUA_LIBRARIES}) target_include_directories(mds PRIVATE "${LUA_INCLUDE_DIR}") diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 13e8970aeaf..f91fbaed430 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -310,10 +310,6 @@ target_include_directories(rgw_common PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw" PUBLIC "${LUA_INCLUDE_DIR}") -if(WITH_RADOSGW_D4N) - target_include_directories(rgw_common SYSTEM PUBLIC "${CMAKE_SOURCE_DIR}/src/boost_redis/include") -endif() - if(WITH_RADOSGW_KAFKA_ENDPOINT) # used by rgw_kafka.cc target_link_libraries(rgw_common diff --git a/src/test/mds/CMakeLists.txt b/src/test/mds/CMakeLists.txt index f80abe75083..18ebb648e68 100644 --- a/src/test/mds/CMakeLists.txt +++ b/src/test/mds/CMakeLists.txt @@ -18,11 +18,10 @@ target_link_libraries(unittest_mds_sessionfilter mds osdc ceph-common global ${B add_executable(unittest_mds_quiesce_db TestQuiesceDb.cc ../../../src/mds/QuiesceDbManager.cc - ../../../src/mds/BoostUrlImpl.cc $<TARGET_OBJECTS:unit-main> ) add_ceph_unittest(unittest_mds_quiesce_db) -target_link_libraries(unittest_mds_quiesce_db ceph-common global) +target_link_libraries(unittest_mds_quiesce_db ceph-common global Boost::url) # unittest_mds_quiesce_agent add_executable(unittest_mds_quiesce_agent diff --git a/win32_deps_build.sh b/win32_deps_build.sh index 491eb28093f..49d26710dd0 100755 --- a/win32_deps_build.sh +++ b/win32_deps_build.sh @@ -16,9 +16,9 @@ sslDir="${depsToolsetDir}/openssl" sslSrcDir="${depsSrcDir}/openssl" # For now, we'll keep the version number within the file path when not using git. -boostUrl="https://download.ceph.com/qa/boost_1_82_0.tar.bz2" -boostSha256Sum="a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6" -boostSrcDir="${depsSrcDir}/boost_1_82_0" +boostUrl="https://download.ceph.com/qa/boost_1_85_0.tar.bz2" +boostSha256Sum="7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617" +boostSrcDir="${depsSrcDir}/boost_1_85_0" boostDir="${depsToolsetDir}/boost" zlibDir="${depsToolsetDir}/zlib" zlibSrcDir="${depsSrcDir}/zlib" @@ -225,27 +225,6 @@ patch -N boost/thread/pthread/thread_data.hpp <<EOL #endif EOL -# https://github.com/boostorg/stacktrace/pull/140 -# https://github.com/boostorg/stacktrace/issues/133 -patch -N boost/stacktrace/detail/frame_msvc.ipp <<'EOL' ---- boost/stacktrace/detail/frame_msvc.ipp 2023-08-18 12:29:37.127229733 +0000 -+++ boost/stacktrace/detail/frame_msvc.ipp.new 2023-08-18 12:28:23.713294554 +0000 -@@ -28,9 +28,13 @@ - - - #ifdef __CRT_UUID_DECL // for __MINGW32__ -+#if !defined(__MINGW32__) || \ -+ (!defined(__clang__) && __GNUC__ < 12) || \ -+ (defined(__clang__) && __clang_major__ < 16) - __CRT_UUID_DECL(IDebugClient,0x27fe5639,0x8407,0x4f47,0x83,0x64,0xee,0x11,0x8f,0xb0,0x8a,0xc8) - __CRT_UUID_DECL(IDebugControl,0x5182e668,0x105e,0x416e,0xad,0x92,0x24,0xef,0x80,0x04,0x24,0xba) - __CRT_UUID_DECL(IDebugSymbols,0x8c31e98c,0x983a,0x48a5,0x90,0x16,0x6f,0xe5,0xd6,0x67,0xa9,0x50) -+#endif - #elif defined(DEFINE_GUID) && !defined(BOOST_MSVC) - DEFINE_GUID(IID_IDebugClient,0x27fe5639,0x8407,0x4f47,0x83,0x64,0xee,0x11,0x8f,0xb0,0x8a,0xc8); - DEFINE_GUID(IID_IDebugControl,0x5182e668,0x105e,0x416e,0xad,0x92,0x24,0xef,0x80,0x04,0x24,0xba); -EOL - ./bootstrap.sh if [[ $ENABLE_SHARED == "ON" ]]; then |