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@xxxxxxxxx>
Date: Wednesday, 9 October 2024 at 1:13 AM
To: dev@xxxxxxx <dev@xxxxxxx>
Subject: [EXTERNAL] Ceph build error: ‘class std::mutex’ has no member named ‘is_locked_by_meZ
I am getting this error when building Ceph:
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
| ^~~~~~~~~~~~~~~
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
|
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx