Skip to content

Does not compile for i686-unknown-linux-gnu. #97

@lurkydismal

Description

@lurkydismal
$ cargo build --target=i686-unknown-linux-gnu
   Compiling easy_fuser v0.4.5
error[E0308]: arguments to this function are incorrect
    --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs/linux_fs.rs:111:9
     |
 111 |         libc::copy_file_range(
     |         ^^^^^^^^^^^^^^^^^^^^^
     |
note: expected `*mut i64`, found `*mut i32`
    --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs/linux_fs.rs:113:13
     |
 113 |             offset_in as *mut libc::off_t,
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     = note: expected raw pointer `*mut i64`
                found raw pointer `*mut i32`
note: expected `*mut i64`, found `*mut i32`
    --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs/linux_fs.rs:115:13
     |
 115 |             offset_out as *mut libc::off_t,
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     = note: expected raw pointer `*mut i64`
                found raw pointer `*mut i32`
note: function defined here
    --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/linux_like/linux_l4re_shared.rs:1964:12
     |
1964 |     pub fn copy_file_range(
     |            ^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:170:17
    |
170 |         tv_sec: duration.as_secs() as i64,
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`

error[E0308]: mismatched types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:171:18
    |
171 |         tv_nsec: duration.subsec_nanos() as i64,
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`

error[E0308]: `?` operator has incompatible types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:275:21
    |
275 | /                     i64::try_from(size).map_err(|_| {
276 | |                         PosixError::new(
277 | |                             ErrorKind::InvalidArgument,
278 | |                             format!(
...   |
284 | |                     })?,
    | |_______________________^ expected `i32`, found `i64`
    |
    = note: `?` operator cannot convert from `i64` to `i32`
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
284 |                     })?.try_into().unwrap(),
    |                        ++++++++++++++++++++

error[E0308]: `?` operator has incompatible types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:512:13
    |
512 | /             current.checked_add(offset).ok_or_else(|| {
513 | |                 PosixError::new(
514 | |                     ErrorKind::InvalidArgument,
515 | |                     "Resulting offset too large for off_t".to_string(),
516 | |                 )
517 | |             })?
    | |_______________^ expected `i32`, found `i64`
    |
    = note: `?` operator cannot convert from `i64` to `i32`
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
517 |             })?.try_into().unwrap()
    |                ++++++++++++++++++++

error[E0308]: `?` operator has incompatible types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:521:13
    |
521 | /             end.checked_add(offset).ok_or_else(|| {
522 | |                 PosixError::new(
523 | |                     ErrorKind::InvalidArgument,
524 | |                     "Resulting offset too large for off_t".to_string(),
525 | |                 )
526 | |             })?
    | |_______________^ expected `i32`, found `i64`
    |
    = note: `?` operator cannot convert from `i64` to `i32`
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
526 |             })?.try_into().unwrap()
    |                ++++++++++++++++++++

error[E0308]: `?` operator has incompatible types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:564:13
    |
564 | /             current.checked_add(offset).ok_or_else(|| {
565 | |                 PosixError::new(
566 | |                     ErrorKind::InvalidArgument,
567 | |                     "Resulting offset too large for off_t".to_string(),
568 | |                 )
569 | |             })?
    | |_______________^ expected `i32`, found `i64`
    |
    = note: `?` operator cannot convert from `i64` to `i32`
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
569 |             })?.try_into().unwrap()
    |                ++++++++++++++++++++

error[E0308]: `?` operator has incompatible types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:573:13
    |
573 | /             end.checked_add(offset).ok_or_else(|| {
574 | |                 PosixError::new(
575 | |                     ErrorKind::InvalidArgument,
576 | |                     "Resulting offset too large for off_t".to_string(),
577 | |                 )
578 | |             })?
    | |_______________^ expected `i32`, found `i64`
    |
    = note: `?` operator cannot convert from `i64` to `i32`
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
578 |             })?.try_into().unwrap()
    |                ++++++++++++++++++++

error[E0308]: arguments to this function are incorrect
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:967:27
    |
967 |     let result = unsafe { unix_impl::fallocate(fd.as_raw_fd(), mode.bits(), offset, length) };
    |                           ^^^^^^^^^^^^^^^^^^^^                              ------  ------ expected `i32`, found `i64`
    |                                                                             |
    |                                                                             expected `i32`, found `i64`
    |
note: function defined here
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs/linux_fs.rs:34:22
    |
 34 | pub(super) unsafe fn fallocate(fd: c_int, mode: c_int, offset: off_t, len: off_t) -> c_int {
    |                      ^^^^^^^^^                         -------------  ----------
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
967 |     let result = unsafe { unix_impl::fallocate(fd.as_raw_fd(), mode.bits(), offset.try_into().unwrap(), length) };
    |                                                                                   ++++++++++++++++++++
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
967 |     let result = unsafe { unix_impl::fallocate(fd.as_raw_fd(), mode.bits(), offset, length.try_into().unwrap()) };
    |                                                                                           ++++++++++++++++++++

error[E0308]: mismatched types
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:996:8
    |
996 |     Ok(result)
    |     -- ^^^^^^ expected `i64`, found `i32`
    |     |
    |     arguments to this enum variant are incorrect
    |
help: the type constructed contains `i32` due to the type of the argument passed
   --> /home/makar/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/easy_fuser-0.4.5/src/unix_fs.rs:996:5
    |
996 |     Ok(result)
    |     ^^^------^
    |        |
    |        this argument influences the type of `Ok`
note: tuple variant defined here
   --> /home/makar/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:561:5
    |
561 |     Ok(#[stable(feature = "rust1", since = "1.0.0")] T),
    |     ^^
help: you can convert an `i32` to an `i64`
    |
996 |     Ok(result.into())
    |              +++++++

For more information about this error, try `rustc --explain E0308`.
error: could not compile `easy_fuser` (lib) due to 10 previous errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions