Skip to content

NetBSD support #83

@woelper

Description

@woelper

I know that this is probably an exotic target, but when I build this library for NetBSD, I get the following error:

      Checking trash v3.0.6
  error[E0412]: cannot find type `statfs` in crate `libc`
     --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/trash-3.0.6/src/freedesktop.rs:703:34
      |
  703 |       let mut fs_infos: *mut libc::statfs = std::ptr::null_mut();
      |                                    ^^^^^^ help: a struct with a similar name exists: `statvfs`
      |
     ::: /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mod.rs:757:1
      |
  757 | / s_no_extra_traits! {
  758 | |
  759 | |     pub struct utmpx {
  760 | |         pub ut_name: [::c_char; _UTX_USERSIZE],
  ...   |
  878 | |     }
  879 | | }
      | |_- similarly named struct `statvfs` defined here
  
  error[E0425]: cannot find function `getmntinfo` in crate `libc`
     --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/trash-3.0.6/src/freedesktop.rs:704:32
      |
  704 |     let count = unsafe { libc::getmntinfo(&mut fs_infos, libc::MNT_WAIT) };
      |                                ^^^^^^^^^^ not found in `libc`
  
  error[E0425]: cannot find value `MNT_WAIT` in crate `libc`
     --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/trash-3.0.6/src/freedesktop.rs:704:64
      |
  704 |     let count = unsafe { libc::getmntinfo(&mut fs_infos, libc::MNT_WAIT) };
      |                                                                ^^^^^^^^ not found in `libc`
  
  error[E0412]: cannot find type `statfs` in crate `libc`
     --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/trash-3.0.6/src/freedesktop.rs:708:27
      |
  708 |       let fs_infos: &[libc::statfs] = unsafe { std::slice::from_raw_parts(fs_infos as _, count as _) };
      |                             ^^^^^^ help: a struct with a similar name exists: `statvfs`
      |
     ::: /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.148/src/unix/bsd/netbsdlike/netbsd/mod.rs:757:1
      |
  757 | / s_no_extra_traits! {
  758 | |
  759 | |     pub struct utmpx {
  760 | |         pub ut_name: [::c_char; _UTX_USERSIZE],
  ...   |
  878 | |     }
  879 | | }
      | |_- similarly named struct `statvfs` defined here

I don't have access to a native NetBSD system, but Github Actions support this target - I have one set up like this:
https://github.com/woelper/oculante/blob/e6e54253ff7de22601678eb6aaebe3f84a02c7ca/.github/workflows/netbsd_minimal.yml

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions