Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build error on ubuntu 22.04.5 with io_uring, need suggestion and help #29

Open
gaowayne opened this issue Mar 1, 2025 · 1 comment
Open

Comments

@gaowayne
Copy link

gaowayne commented Mar 1, 2025

hello expert
I installed liburing as below

root@salab-bncbeta03:~/wayne/3fs/3FS# apt install liburing*
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'liburing2' for glob 'liburing*'
Note, selecting 'liburing-dev' for glob 'liburing*'
liburing-dev is already the newest version (2.1-2build1).
liburing2 is already the newest version (2.1-2build1).
0 upgraded, 0 newly installed, 0 to remove and 54 not upgraded.

my kernel is: root@salab-bncbeta03:/wayne/3fs/3FS# uname -a
Linux salab-bncbeta03 6.8.0-49-generic #49
22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

my OS is ubuntu 22.04.5

after I follow instruction to build code, I suffer below error at Folly and IO_Uring. please help!~

-- Found Git: /usr/bin/git (found version "2.34.1") 
fatal: No names found, cannot describe anything.
fatal: No names found, cannot describe anything.
-- Git Commit hash: 4e8c49f5 4e8c49f5ec988ea48259d655fdd4dba6e646001c
-- Git Commit Date & Timestamp: 20250301 1740806805
-- Git Commit Tag & Seq Num: 250228 1
[  1%] Built target AlwaysCheckGit
Consolidate compiler generated dependencies of target version-info
[  1%] Built target version-info
Consolidate compiler generated dependencies of target fmt
[  1%] Built target fmt
Consolidate compiler generated dependencies of target libzstd_static
[  4%] Built target libzstd_static
Consolidate compiler generated dependencies of target folly_base
[  4%] Building CXX object third_party/folly/CMakeFiles/folly_base.dir/folly/experimental/io/AsyncIoUringSocket.cpp.o
/root/wayne/3fs/3FS/third_party/folly/folly/experimental/io/AsyncIoUringSocket.cpp:714:26: error: use of undeclared identifier 'IORING_RECV_MULTISHOT'
          ioprio_flags = IORING_RECV_MULTISHOT;
                         ^
/root/wayne/3fs/3FS/third_party/folly/folly/experimental/io/AsyncIoUringSocket.cpp:872:7: error: no member named 'io_uring_prep_sendmsg_zc' in the global namespace; did you mean 'io_uring_prep_sendmsg'?
    ::io_uring_prep_sendmsg_zc(
    ~~^~~~~~~~~~~~~~~~~~~~~~~~
      io_uring_prep_sendmsg
/usr/include/liburing.h:340:20: note: 'io_uring_prep_sendmsg' declared here
static inline void io_uring_prep_sendmsg(struct io_uring_sqe *sqe, int fd,
                   ^
/root/wayne/3fs/3FS/third_party/folly/folly/experimental/io/AsyncIoUringSocket.cpp:1270:17: error: use of undeclared identifier 'IORING_CQE_F_NOTIF'
    if (flags & IORING_CQE_F_NOTIF) {
                ^
/root/wayne/3fs/3FS/third_party/folly/folly/experimental/io/AsyncIoUringSocket.cpp:1288:39: error: use of undeclared identifier 'IORING_CQE_F_NOTIF'
           << " notif=" << !!(flags & IORING_CQE_F_NOTIF);
                                      ^
/root/wayne/3fs/3FS/third_party/folly/folly/experimental/io/AsyncIoUringSocket.cpp:1302:39: error: use of undeclared identifier 'IORING_CQE_F_NOTIF'
           << " notif=" << !!(flags & IORING_CQE_F_NOTIF)
                                      ^
/root/wayne/3fs/3FS/third_party/folly/folly/experimental/io/AsyncIoUringSocket.cpp:1319:15: error: use of undeclared identifier 'IORING_CQE_F_NOTIF'
  if (flags & IORING_CQE_F_NOTIF) {
              ^
6 errors generated.
gmake[2]: *** [third_party/folly/CMakeFiles/folly_base.dir/build.make:1560: third_party/folly/CMakeFiles/folly_base.dir/folly/experimental/io/AsyncIoUringSocket.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:2466: third_party/folly/CMakeFiles/folly_base.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
root@salab-bncbeta03:~/wayne/3fs/3FS# apt install liburing*
@wushap
Copy link

wushap commented Mar 1, 2025

/usr/include/liburing.h:340

/usr/include/liburing.h:340:20: note: 'io_uring_prep_sendmsg' declared here

The dependency check found the system's built-in liburing, which caused an error. Updating the system's liburing or using the one from third-party could resolve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants