Actions
Bug #50497
openopenSUSE Leap 15.2 make check fails with error 'MFD_ALLOW_SEALING' was not declared in this scope
Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
On recent openSUSE Leap 15.2 the make check fails on master branch with:
00:19:24 FAILED: src/common/CMakeFiles/common-common-objs.dir/Journald.cc.o 00:19:24 /usr/bin/ccache /usr/bin/c++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DCEPH_INSTALL_DATADIR=\"/usr/local/share/ceph\" -DCEPH_INSTALL_FULL_PKGLIBDIR=\"/usr/local/lib64/ceph\" -DCMAKE_INSTALL_LIBDIR=\"lib64\" -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -Isrc/include -I../src -isystem boost/include -isystem include -isystem ../src/xxHash -isystem ../src/rapidjson/include -g -fPIC -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 -Wstrict-null-sentinel -Woverloaded-virtual -fno-new-ttp-matching -fstack-protector-strong -D_GLIBCXX_ASSERTIONS -fdiagnostics-color=auto -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -std=c++1z -MD -MT src/common/CMakeFiles/common-common-objs.dir/Journald.cc.o -MF src/common/CMakeFiles/common-common-objs.dir/Journald.cc.o.d -o src/common/CMakeFiles/common-common-objs.dir/Journald.cc.o -c ../src/common/Journald.cc 00:19:24 ../src/common/Journald.cc: In member function 'void ceph::logging::detail::JournaldClient::detect_mem_file_mode()': 00:19:24 ../src/common/Journald.cc:165:45: error: 'MFD_ALLOW_SEALING' was not declared in this scope 00:19:24 int memfd = memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:165:45: note: suggested alternative: '_D_ALLOC_NAMLEN' 00:19:24 int memfd = memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~~~~~~ 00:19:24 _D_ALLOC_NAMLEN 00:19:24 ../src/common/Journald.cc:165:65: error: 'MFD_CLOEXEC' was not declared in this scope 00:19:24 int memfd = memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:165:65: note: suggested alternative: 'TFD_CLOEXEC' 00:19:24 int memfd = memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~ 00:19:24 TFD_CLOEXEC 00:19:24 ../src/common/Journald.cc:165:15: error: 'memfd_create' was not declared in this scope 00:19:24 int memfd = memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:165:15: note: suggested alternative: 'timerfd_create' 00:19:24 int memfd = memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~ 00:19:24 timerfd_create 00:19:24 ../src/common/Journald.cc: In member function 'int ceph::logging::detail::JournaldClient::open_mem_file()': 00:19:24 ../src/common/Journald.cc:184:42: error: 'MFD_ALLOW_SEALING' was not declared in this scope 00:19:24 return memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:184:42: note: suggested alternative: '_D_ALLOC_NAMLEN' 00:19:24 return memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~~~~~~ 00:19:24 _D_ALLOC_NAMLEN 00:19:24 ../src/common/Journald.cc:184:62: error: 'MFD_CLOEXEC' was not declared in this scope 00:19:24 return memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:184:62: note: suggested alternative: 'TFD_CLOEXEC' 00:19:24 return memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~ 00:19:24 TFD_CLOEXEC 00:19:24 ../src/common/Journald.cc:184:12: error: 'memfd_create' was not declared in this scope 00:19:24 return memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:184:12: note: suggested alternative: 'timerfd_create' 00:19:24 return memfd_create("ceph-journald", MFD_ALLOW_SEALING | MFD_CLOEXEC); 00:19:24 ^~~~~~~~~~~~ 00:19:24 timerfd_create 00:19:24 ../src/common/Journald.cc: In member function 'int ceph::logging::detail::JournaldClient::send()': 00:19:24 ../src/common/Journald.cc:246:28: error: 'F_ADD_SEALS' was not declared in this scope 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:246:28: note: suggested alternative: 'F_OFD_SETLK' 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~ 00:19:24 F_OFD_SETLK 00:19:24 ../src/common/Journald.cc:246:41: error: 'F_SEAL_SHRINK' was not declared in this scope 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:246:57: error: 'F_SEAL_GROW' was not declared in this scope 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:246:57: note: suggested alternative: 'F_SETLKW' 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~ 00:19:24 F_SETLKW 00:19:24 ../src/common/Journald.cc:246:71: error: 'F_SEAL_WRITE' was not declared in this scope 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:246:71: note: suggested alternative: '__S_IWRITE' 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~~ 00:19:24 __S_IWRITE 00:19:24 ../src/common/Journald.cc:246:86: error: 'F_SEAL_SEAL' was not declared in this scope 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~ 00:19:24 ../src/common/Journald.cc:246:86: note: suggested alternative: 'F_SETLEASE' 00:19:24 ret = fcntl(buffer_fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL); 00:19:24 ^~~~~~~~~~~ 00:19:24 F_SETLEASE
Updated by Kyrylo Shatskyy almost 3 years ago
The MFD_ALLOW_SEALING is not present in recent headers from glibc-devel on Leap 15.2 which has the highest version 2.26-lp152.26.6.1 at the moment the bug occurred.
However, I figured out that Leap 15.3 Beta will have a newer version of glibc-devel which allows to run make check without the error.
Updated by Kyrylo Shatskyy almost 3 years ago
Suspecting PR introduce the failure is here https://github.com/ceph/ceph/pull/39738
Actions