On Thu, Jun 19, 2025 at 1:49 PM Casey Bodley <cbodley@redhat.com> wrote:
ubuntu 22.04 (jammy) goes end-of-life before the tentacle release
will, so the U release can finally drop support. we could do that on
main as soon as we have full support for ubuntu 24.04 (noble)

that support for jammy has left our package builds pinned to gcc-12,
but noble goes up to gcc-14. according to
https://en.cppreference.com/w/cpp/compiler_support.html#cpp23, that's
likely good enough to make the switch to c++23

just wanted to note that we might also want to take clang versions into
consideration, if we care about both the C++23 support of both standard library 
and compiler. because we are using clang in our CI and windows build.  
the standard library is libstdc++ under most circumstances, while the latter
could be clang++ for windows build and make check workflows or g++
for building rpm and deb packages. 

FWIW, https://github.com/ceph/ceph/pull/63797 was created to bump up
the clang version used in windows builds.
  

has anyone experimented with c++23 in ceph? our previous upgrades to

i gave it a try couple days ago. the tree compiled just fine with following patch:

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5faed469589..532bafabd6a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -242,7 +242,7 @@ if(HAVE_INTEL)
 endif()
 
 # require c++20
-set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_CXX_STANDARD 23)
 set(CMAKE_CXX_EXTENSIONS OFF)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 set(CMAKE_C_STANDARD 99)
 
c++17 and 20 took a considerable effort, so now is probably a good
time to start planning for this. we won't be able to switch over until

probably we can switch to C++23 sooner? after addressing the warnings,
i think we should be able to switch to C++23, as long as we don't use
features only supported by  the newer clang++ and g++ compilers and
libstdc++.
 
 
we've dropped jammy everywhere on main (jenkins checks, shaman
builds), but we can start merging fixes in the meantime. there will
surely be some compiler warnings to address

i've sent a couple patches along the way. most of them address the deprecation of 
std::aligned_storage_t .
 
_______________________________________________
Dev mailing list -- dev@ceph.io
To unsubscribe send an email to dev-leave@ceph.io


--
Regards
Kefu Chai