Bug #50497
Updated by Kyrylo Shatskyy about 3 years ago
On recent openSUSE Leap 15.2 the make check fails on master branch with: <pre> ``` 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 </pre> ```