Hi Suyash This is code from a file added in my recent commit (https://github.com/ceph/ceph/pull/59857) and I am surprised to see this error line pop up as it was not an issue in the CI make checks before submitting the pull request. Potentially there is an improvement to the CI testing that could be made to catch things like this in the future. For now you can probably remove this line (/ceph/src/common/io_exerciser/RadosIo.cc line 84) from your local environment to unblock your development, as it is not a file that is compiled into the main ceph code currently, just a new test executable (bin/ceph_test_rados_io_sequence). The current thinking as to why you are seeing this is that this might be due to a difference between release builds and debug builds as this is a function of ceph::mutex that does not exist in std::mutex. However I will investigate further and update this thread if I find reasoning to show the contrary. I will look to create a pull request with my findings to fix this in the code base for everyone. Thanks Jonathan From: Suyash Dongre <suyashd999@gmail.com> Date: Wednesday, 9 October 2024 at 1:13 AM To: dev@ceph.io <dev@ceph.io> Subject: [EXTERNAL] Ceph build error: ‘class std::mutex’ has no member named ‘is_locked_by_meZ I am getting this error when building Ceph: OS: Ubuntu 22.04 Any help would be appreciated. [373/2229] Building CXX object src/com...s/object_io_exerciser.dir/RadosIo.cc.o FAILED: src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o /usr/bin/g++-12 -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_HAS_IO_URING -DBOOST_ASIO_NO_TS_EXECUTORS -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/home/suyash/ceph/build/src/include -I/home/suyash/ceph/src -isystem /home/suyash/ceph/build/boost/include -isystem /home/suyash/ceph/build/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/api/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/ext/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/sdk/include -isystem /home/suyash/ceph/src/xxHash -isystem /home/suyash/ceph/src/fmt/include -O2 -g -DNDEBUG -fPIC -U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -std=c++20 -MD -MT src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o -MF src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o.d -o src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o -c /home/suyash/ceph/src/common/io_exerciser/RadosIo.cc In file included from /home/suyash/ceph/src/common/io_exerciser/IoOp.h:5, from /home/suyash/ceph/src/common/io_exerciser/Model.h:3, from /home/suyash/ceph/src/common/io_exerciser/ObjectModel.h:3, from /home/suyash/ceph/src/common/io_exerciser/RadosIo.h:3, from /home/suyash/ceph/src/common/io_exerciser/RadosIo.cc:1: /home/suyash/ceph/src/common/io_exerciser/RadosIo.cc: In member function ‘virtual bool ceph::io_exerciser::RadosIo::readyForIoOp(ceph::io_exerciser::IoOp&)’: /home/suyash/ceph/src/common/io_exerciser/RadosIo.cc:84:20: error: ‘ceph::mutex’ {aka ‘class std::mutex’} has no member named ‘is_locked_by_me’ 84 | ceph_assert(lock.is_locked_by_me()); //Must be called with lock held | ^~~~~~~~~~~~~~~ Thank you! Regards, Suyash Dongre Unless otherwise stated above: IBM United Kingdom Limited Registered in England and Wales with number 741598 Registered office: Building C, IBM Hursley Office, Hursley Park Road, Winchester, Hampshire SO21 2JN