From 857eedbe6c9ed80ed0625bd0aa27b1a1e85f8d59 Mon Sep 17 00:00:00 2001 From: Adam Emerson Date: Mon, 20 May 2024 16:22:28 -0400 Subject: mds: Use Boost::url rather than `src.hpp` As `src.hpp` is no longer supported. Signed-off-by: Adam Emerson --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index ba5798e0be9..33cd2d81370 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -700,7 +700,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) -- cgit v1.2.3 From 3d36ac2d0bf9cb6c6adb0ef8654a0efd9feab80c Mon Sep 17 00:00:00 2001 From: Adam Emerson Date: Mon, 20 May 2024 19:14:59 -0400 Subject: build: Bump Boost to 1.85 Signed-off-by: Adam Emerson --- CMakeLists.txt | 14 ++++++-------- cmake/modules/BuildBoost.cmake | 6 +++--- cmake/modules/FindBoost.cmake | 18 +++++++++++++++++- install-deps.sh | 5 +++-- make-dist | 4 ++-- win32_deps_build.sh | 27 +++------------------------ 6 files changed, 34 insertions(+), 40 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 33cd2d81370..346baba936d 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 @@ -729,7 +732,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) @@ -743,16 +746,11 @@ else() set(BOOST_J ${DEFAULT_BOOST_J} CACHE STRING "max jobs for Boost build") # override w/-DBOOST_J= 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($<$:-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 9904cbf4e41..380c55445d6 100644 --- a/cmake/modules/BuildBoost.cmake +++ b/cmake/modules/BuildBoost.cmake @@ -155,14 +155,14 @@ 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} ) list(APPEND boost_url https://download.ceph.com/qa/boost_${boost_version_underscore}.tar.bz2 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 6ef59158111..9f65ab95111 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 4b4d0e85e0c..68d938bebd1 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/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 <