folly
folly copied to clipboard
compiler failed on ubuntu 22.04
/home/workspace/folly/folly/experimental/io/IoUringBackend.cpp: In member function ‘void folly::IoUringBackend::cancel(folly::IoSqeBase*)’: /home/workspace/folly/folly/experimental/io/IoUringBackend.cpp:1634:5: error: ‘::io_uring_prep_cancel64’ has not been declared; did you mean ‘io_uring_prep_cancel’? 1634 | ::io_uring_prep_cancel64(sqe, (uint64_t)ioSqe, 0); | ^~~~~~~~~~~~~~~~~~~~~~ | io_uring_prep_cancel [ 4%] Building CXX object CMakeFiles/folly_base.dir/folly/experimental/symbolizer/SymbolizePrinter.cpp.o [ 4%] Building CXX object CMakeFiles/folly_base.dir/folly/experimental/symbolizer/SymbolizedFrame.cpp.o [ 4%] Building CXX object CMakeFiles/folly_base.dir/folly/experimental/symbolizer/Symbolizer.cpp.o [ 5%] Building CXX object CMakeFiles/folly_base.dir/folly/ext/test_ext.cpp.o make[2]: *** [CMakeFiles/folly_base.dir/build.make:1728:CMakeFiles/folly_base.dir/folly/experimental/io/IoUringBackend.cpp.o] 错误 1 make[2]: *** 正在等待未完成的任务.... /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp: In member function ‘virtual void folly::AsyncIoUringSocket::ReadSqe::processSubmit(io_uring_sqe*)’: /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp:707:26: error: ‘IORING_RECV_MULTISHOT’ was not declared in this scope 707 | ioprio_flags = IORING_RECV_MULTISHOT; | ^~~~~~~~~~~~~~~~~~~~~ /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp: In member function ‘virtual void folly::AsyncIoUringSocket::WriteSqe::processSubmit(io_uring_sqe*)’: /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp:864:7: error: ‘::io_uring_prep_sendmsg_zc’ has not been declared; did you mean ‘io_uring_prep_sendmsg’? 864 | ::io_uring_prep_sendmsg_zc( | ^~~~~~~~~~~~~~~~~~~~~~~~ | io_uring_prep_sendmsg /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp: In lambda function: /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp:1262:17: error: ‘IORING_CQE_F_NOTIF’ was not declared in this scope; did you mean ‘IORING_CQE_F_MORE’? 1262 | if (flags & IORING_CQE_F_NOTIF) { | ^~~~~~~~~~~~~~~~~~ | IORING_CQE_F_MORE /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp: In member function ‘virtual void folly::AsyncIoUringSocket::WriteSqe::callbackCancelled(int, uint32_t)’: /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp:1280:39: error: ‘IORING_CQE_F_NOTIF’ was not declared in this scope; did you mean ‘IORING_CQE_F_MORE’? 1280 | << " notif=" << !!(flags & IORING_CQE_F_NOTIF); | ^~~~~~~~~~~~~~~~~~ | IORING_CQE_F_MORE /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp: In member function ‘virtual void folly::AsyncIoUringSocket::WriteSqe::callback(int, uint32_t)’: /home/workspace/folly/folly/experimental/io/AsyncIoUringSocket.cpp:1294:39: error: ‘IORING_CQE_F_NOTIF’ was not declared in this scope; did you mean ‘IORING_CQE_F_MORE’? 1294 | << " notif=" << !!(flags & IORING_CQE_F_NOTIF) | ^~~~~~~~~~~~~~~~~~ | IORING_CQE_F_MORE make[2]: *** [CMakeFiles/folly_base.dir/build.make:1672:CMakeFiles/folly_base.dir/folly/experimental/io/AsyncIoUringSocket.cpp.o]
works if you are compiling the latest released liburing.
liburing-dev
in ubuntu2204 apt source may be outdated