mirror of
https://github.com/ceph/ceph
synced 2025-03-25 11:48:05 +00:00
build: Bump Boost to 1.85
Signed-off-by: Adam Emerson <aemerson@redhat.com>
This commit is contained in:
parent
dd54e6bf57
commit
3d36ac2d0b
@ -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=<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)
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
||||
}
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user