Skip to content

Version 0.5.0 does not build: libc dependency needs to be updated. #316

Open
@Jire

Description

@Jire

Version 0.5.0 does not build: libc dependency needs to be updated.

My system:

                  -`                     jire@arch
                 .o+`                    ---------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Host: MS-7D25 (1.0)
              `+oooooo:                  Kernel: Linux 6.12.1-zen1-1-zen
              -+oooooo+:                 Uptime: 7 hours, 20 mins
            `/:-:++oooo+:                Packages: 1092 (pacman)
           `/++++/+++++++:               Shell: zsh 5.9
          `/++++++++++++++:              Display (32GK850G): 2560x1440 @ 165 Hz in 32" [External]
         `/+++ooooooooooooo/`            Display (32QHD240): 2560x1440 @ 240 Hz in 32" [External] *
        ./ooosssso++osssssso+`           Display (DELL P2414H): 1920x1080 @ 60 Hz in 24" [External]
       .oossssso-````/ossssss+`          DE: GNOME 47.2
      -osssssso.      :ssssssso.         WM: Mutter (Wayland)
     :osssssss/        osssso+++.        WM Theme: Flat-Remix-Violet-Darkest-fullPanel
    /ossssssss/        +ssssooo/-        Theme: Adwaita [GTK2/3/4]
  `/ossssso+/:-        -:/+osssso+-      Icons: Adwaita [GTK2/3/4]
 `+sso+:-`                 `.-/+oso:     Font: Cantarell (11pt) [GTK2/3/4]
`++:.                           `-/+/    Cursor: Adwaita (24px)
.`                                 `/    Terminal: GNOME Console 47.1
                                         Terminal Font: JetBrains Mono (13pt)
                                         CPU: Intel(R) Core(TM) i7-14700K (28) @ 5.50 GHz
                                         GPU: NVIDIA GeForce RTX 4070
                                         Memory: 49.98 GiB / 125.61 GiB (40%)
                                         Swap: Disabled
                                         Disk (/): 186.57 GiB / 1022.50 GiB (18%) - xfs
                                         Local IP (enp5s0f0np0): 192.168.99.10/24
                                         Locale: en_US.UTF-8

Build failure output:

/home/jire/.cargo/bin/cargo build --color=always --message-format=json-diagnostic-rendered-ansi --target x86_64-unknown-linux-musl --profile release
   Compiling io-uring v0.6.4
   Compiling pin-utils v0.1.0
   Compiling futures-task v0.3.31
   Compiling futures-core v0.3.31
   Compiling futures-util v0.3.31
   Compiling tokio-uring v0.5.0
error[E0412]: cannot find type `statx` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/io/statx.rs:21:22
    |
21  |       statx: Box<libc::statx>,
    |                        ^^^^^
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs:9:1
    |
9   | / s! {
10  | |     pub struct stat {
11  | |         pub st_dev: ::dev_t,
12  | |         pub st_ino: ::ino_t,
...   |
122 | |     }
123 | | }
    | |_- similarly named struct `stat` defined here
    |
help: a struct with a similar name exists
    |
21  |     statx: Box<libc::stat>,
    |                      ~~~~
help: consider importing one of these structs
    |
1   + use crate::io::statx::types::statx;
    |
1   + use io_uring::types::statx;
    |
help: if you import `statx`, refer to it directly
    |
21  -     statx: Box<libc::statx>,
21  +     statx: Box<statx>,
    |

error[E0412]: cannot find type `statx` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/io/statx.rs:56:57
    |
56  |                           &mut *statx.statx as *mut libc::statx as *mut types::statx,
    |                                                           ^^^^^
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs:9:1
    |
9   | / s! {
10  | |     pub struct stat {
11  | |         pub st_dev: ::dev_t,
12  | |         pub st_ino: ::ino_t,
...   |
122 | |     }
123 | | }
    | |_- similarly named struct `stat` defined here
    |
help: a struct with a similar name exists
    |
56  |                         &mut *statx.statx as *mut libc::stat as *mut types::statx,
    |                                                         ~~~~
help: consider importing one of these structs
    |
1   + use crate::io::statx::types::statx;
    |
1   + use io_uring::types::statx;
    |
help: if you import `statx`, refer to it directly
    |
56  -                         &mut *statx.statx as *mut libc::statx as *mut types::statx,
56  +                         &mut *statx.statx as *mut statx as *mut types::statx,
    |

error[E0412]: cannot find type `statx` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/io/statx.rs:68:36
    |
68  |       type Output = io::Result<libc::statx>;
    |                                      ^^^^^
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs:9:1
    |
9   | / s! {
10  | |     pub struct stat {
11  | |         pub st_dev: ::dev_t,
12  | |         pub st_ino: ::ino_t,
...   |
122 | |     }
123 | | }
    | |_- similarly named struct `stat` defined here
    |
help: a struct with a similar name exists
    |
68  |     type Output = io::Result<libc::stat>;
    |                                    ~~~~
help: consider importing one of these structs
    |
1   + use crate::io::statx::types::statx;
    |
1   + use io_uring::types::statx;
    |
help: if you import `statx`, refer to it directly
    |
68  -     type Output = io::Result<libc::statx>;
68  +     type Output = io::Result<statx>;
    |

error[E0425]: cannot find value `STATX_TYPE` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/create_dir_all.rs:196:27
    |
196 |     if builder.mask(libc::STATX_TYPE).pathname(path).is_err() {
    |                           ^^^^^^^^^^ not found in `libc`

error[E0412]: cannot find type `statx` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/statx.rs:31:51
    |
31  |       pub async fn statx(&self) -> io::Result<libc::statx> {
    |                                                     ^^^^^
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs:9:1
    |
9   | / s! {
10  | |     pub struct stat {
11  | |         pub st_dev: ::dev_t,
12  | |         pub st_ino: ::ino_t,
...   |
122 | |     }
123 | | }
    | |_- similarly named struct `stat` defined here
    |
help: a struct with a similar name exists
    |
31  |     pub async fn statx(&self) -> io::Result<libc::stat> {
    |                                                   ~~~~
help: consider importing this struct
    |
1   + use io_uring::types::statx;
    |
help: if you import `statx`, refer to it directly
    |
31  -     pub async fn statx(&self) -> io::Result<libc::statx> {
31  +     pub async fn statx(&self) -> io::Result<statx> {
    |

error[E0425]: cannot find value `STATX_ALL` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/statx.rs:33:26
    |
33  |         let mask = libc::STATX_ALL;
    |                          ^^^^^^^^^ help: a constant with a similar name exists: `STA_FLL`
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/mod.rs:752:1
    |
752 | pub const STA_FLL: ::c_int = 0x0008;
    | -------------------------- similarly named constant `STA_FLL` defined here

error[E0425]: cannot find value `STATX_ALL` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/statx.rs:76:25
    |
76  |             mask: libc::STATX_ALL,
    |                         ^^^^^^^^^ help: a constant with a similar name exists: `STA_FLL`
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/mod.rs:752:1
    |
752 | pub const STA_FLL: ::c_int = 0x0008;
    | -------------------------- similarly named constant `STA_FLL` defined here

error[E0412]: cannot find type `statx` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/statx.rs:105:65
    |
105 |   pub async fn statx<P: AsRef<Path>>(path: P) -> io::Result<libc::statx> {
    |                                                                   ^^^^^
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs:9:1
    |
9   | / s! {
10  | |     pub struct stat {
11  | |         pub st_dev: ::dev_t,
12  | |         pub st_ino: ::ino_t,
...   |
122 | |     }
123 | | }
    | |_- similarly named struct `stat` defined here
    |
help: a struct with a similar name exists
    |
105 | pub async fn statx<P: AsRef<Path>>(path: P) -> io::Result<libc::stat> {
    |                                                                 ~~~~
help: consider importing this struct
    |
1   + use io_uring::types::statx;
    |
help: if you import `statx`, refer to it directly
    |
105 - pub async fn statx<P: AsRef<Path>>(path: P) -> io::Result<libc::statx> {
105 + pub async fn statx<P: AsRef<Path>>(path: P) -> io::Result<statx> {
    |

error[E0425]: cannot find value `STATX_ALL` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/statx.rs:165:25
    |
165 |             mask: libc::STATX_ALL,
    |                         ^^^^^^^^^ help: a constant with a similar name exists: `STA_FLL`
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/mod.rs:752:1
    |
752 | pub const STA_FLL: ::c_int = 0x0008;
    | -------------------------- similarly named constant `STA_FLL` defined here

error[E0412]: cannot find type `statx` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/statx.rs:291:55
    |
291 |       pub async fn statx(&mut self) -> io::Result<libc::statx> {
    |                                                         ^^^^^
    |
   ::: /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.153/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs:9:1
    |
9   | / s! {
10  | |     pub struct stat {
11  | |         pub st_dev: ::dev_t,
12  | |         pub st_ino: ::ino_t,
...   |
122 | |     }
123 | | }
    | |_- similarly named struct `stat` defined here
    |
help: a struct with a similar name exists
    |
291 |     pub async fn statx(&mut self) -> io::Result<libc::stat> {
    |                                                       ~~~~
help: consider importing this struct
    |
1   + use io_uring::types::statx;
    |
help: if you import `statx`, refer to it directly
    |
291 -     pub async fn statx(&mut self) -> io::Result<libc::statx> {
291 +     pub async fn statx(&mut self) -> io::Result<statx> {
    |

error[E0425]: cannot find value `STATX_TYPE` in crate `libc`
   --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/fs/statx.rs:306:27
    |
306 |     if builder.mask(libc::STATX_TYPE).pathname(path).is_err() {
    |                           ^^^^^^^^^^ not found in `libc`

error[E0308]: mismatched types
  --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/io/sendmsg.rs:58:41
   |
58 |                 msghdr.msg_controllen = _msg_control.bytes_init();
   |                 ---------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `usize`
   |                 |
   |                 expected due to the type of this binding

error[E0308]: mismatched types
  --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/io/sendmsg.rs:62:41
   |
62 |                 msghdr.msg_controllen = 0_usize;
   |                 ---------------------   ^^^^^^^ expected `u32`, found `usize`
   |                 |
   |                 expected due to the type of this binding

error[E0308]: mismatched types
  --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/io/sendmsg_zc.rs:65:41
   |
65 |                 msghdr.msg_controllen = _msg_control.bytes_init();
   |                 ---------------------   ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `usize`
   |                 |
   |                 expected due to the type of this binding

error[E0308]: mismatched types
  --> /home/jire/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-uring-0.5.0/src/io/sendmsg_zc.rs:69:41
   |
69 |                 msghdr.msg_controllen = 0_usize;
   |                 ---------------------   ^^^^^^^ expected `u32`, found `usize`
   |                 |
   |                 expected due to the type of this binding

error: aborting due to 15 previous errors

Some errors have detailed explanations: E0308, E0412, E0425.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `tokio-uring` (lib) due to 16 previous errors
Process finished with exit code 101

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions