mahkoh/uapi

import __timeval __exit_status fails on FreeBSD 13

jtmoon79 opened this issue · 1 comments

Given Cargo.toml with

[package]
name = "uapi_1"
version = "0.1.0"
edition = "2021"
[dependencies]
uapi = "0.2.10"

and src/main.rs with

use ::uapi::c::utmpx;
use ::uapi::c::__timeval;
use ::uapi::c::__exit_status;

fn main() {
    println!("Hello, world!");
}

Command cargo build fails

$ cargo build
    Updating crates.io index
   Compiling proc-macro2 v1.0.52
   Compiling unicode-ident v1.0.8
   Compiling quote v1.0.26
   Compiling syn v1.0.109
   Compiling libc v0.2.140
   Compiling regex-syntax v0.6.28
   Compiling cc v1.0.79
   Compiling uapi v0.2.10
   Compiling regex v1.7.1
   Compiling lazy_static v1.4.0
   Compiling cfg-if v0.1.10
   Compiling uapi-proc v0.0.5
   Compiling uapi_1 v0.1.0 (/tmp/uapi_1)
error[E0432]: unresolved import `uapi::c::__timeval`
 --> src/main.rs:2:5
  |
2 | use ::uapi::c::__timeval;
  |     ^^^^^^^^^^^---------
  |     |          |
  |     |          help: a similar name exists in the module: `timeval`
  |     no `__timeval` in `c`

error[E0432]: unresolved import `uapi::c::__exit_status`
 --> src/main.rs:3:5
  |
3 | use ::uapi::c::__exit_status;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^ no `__exit_status` in `c`

Context

$ cargo --version
cargo 1.68.0 (115f34552 2023-02-26)

$ rustc --print cfg
debug_assertions
panic="unwind"
target_arch="x86_64"
target_endian="little"
target_env=""
target_family="unix"
target_feature="fxsr"
target_feature="sse"
target_feature="sse2"
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="ptr"
target_os="freebsd"
target_pointer_width="64"
target_vendor="unknown"
unix

$ cat /etc/os-release
NAME=FreeBSD
VERSION="13.1-RELEASE"
VERSION_ID="13.1"
ID=freebsd
ANSI_COLOR="0;31"
PRETTY_NAME="FreeBSD 13.1-RELEASE"
CPE_NAME="cpe:/o:freebsd:freebsd:13.1"
HOME_URL="https://FreeBSD.org/"
BUG_REPORT_URL="https://bugs.FreeBSD.org/"

The c module is just a re-export of the libc crate. Please report any problems with the libc crate to the libc maintainers.