Skip to content

Missing strftime on Illumos #4449

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

Open
extrowerk opened this issue May 9, 2025 · 0 comments · May be fixed by #4453
Open

Missing strftime on Illumos #4449

extrowerk opened this issue May 9, 2025 · 0 comments · May be fixed by #4453
Labels
C-feature-request Category: new feature or request E-help-wanted Call for participation: Help is requested to fix this issue.

Comments

@extrowerk
Copy link

extrowerk commented May 9, 2025

Reference: fish-shell/fish-shell#11099 (comment)

Illumos strftime manpage: https://smartos.org/man/3C/strftime

Fish git master build output:

user@build:~/projekt/fish-shell% cargo build
warning: [email protected]: Cannot find sphinx-build to build man pages.
warning: [email protected]: If you install it now you need to run `cargo clean` and rebuild, or set $FISH_BUILD_DOCS=1 explicitly.
   Compiling fish v4.1.0-alpha0 (/export/home/user/projekt/fish-shell)
error[E0432]: unresolved import `libc::strftime`
    --> src/history.rs:1451:17
     |
1451 |             use libc::strftime;
     |                 ^^^^^^^^^^^^^^ no `strftime` in the root

error[E0433]: failed to resolve: could not find `resource` in `sys`
  --> src/builtins/ulimit.rs:18:66
   |
18 |     let resource = unsafe { std::mem::transmute::<i32, nix::sys::resource::Resource>(resource) };
   |                                                                  ^^^^^^^^ could not find `resource` in `sys`

error[E0433]: failed to resolve: could not find `resource` in `sys`
  --> src/builtins/ulimit.rs:19:15
   |
19 |     nix::sys::resource::getrlimit(resource)
   |               ^^^^^^^^ could not find `resource` in `sys`

error[E0433]: failed to resolve: could not find `resource` in `sys`
  --> src/builtins/ulimit.rs:27:66
   |
27 |     let resource = unsafe { std::mem::transmute::<i32, nix::sys::resource::Resource>(resource) };
   |                                                                  ^^^^^^^^ could not find `resource` in `sys`

error[E0433]: failed to resolve: could not find `resource` in `sys`
  --> src/builtins/ulimit.rs:28:15
   |
28 |     nix::sys::resource::setrlimit(resource, rlim_cur, rlim_max)
   |               ^^^^^^^^ could not find `resource` in `sys`

error[E0425]: cannot find function `mkostemp` in crate `libc`
    --> src/fallback.rs:126:24
     |
126  |         unsafe { libc::mkostemp(name, O_CLOEXEC) }
     |                        ^^^^^^^^ help: a function with a similar name exists: `mkstemp`
     |
    ::: /export/home/szilard/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.172/src/unix/mod.rs:1538:5
     |
1538 |     pub fn mkstemp(template: *mut c_char) -> c_int;
     |     ----------------------------------------------- similarly named function `mkstemp` defined here

error[E0609]: no field `d_type` on type `&dirent`
   --> src/wutil/dir_iter.rs:294:50
    |
294 |         let typ = dirent_type_to_entry_type(dent.d_type);
    |                                                  ^^^^^^ unknown field
    |
    = note: available fields are: `d_ino`, `d_off`, `d_reclen`, `d_name`

error[E0308]: mismatched types
   --> src/fork_exec/spawn.rs:117:18
    |
117 |         flags |= libc::POSIX_SPAWN_SETSIGDEF;
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i16`

error[E0277]: no implementation for `i32 |= i16`
   --> src/fork_exec/spawn.rs:117:15
    |
117 |         flags |= libc::POSIX_SPAWN_SETSIGDEF;
    |               ^^ no implementation for `i32 |= i16`
    |
    = help: the trait `BitOrAssign<i16>` is not implemented for `i32`
    = help: the following other types implement trait `BitOrAssign<Rhs>`:
              `i32` implements `BitOrAssign<&i32>`
              `i32` implements `BitOrAssign`

error[E0308]: mismatched types
   --> src/fork_exec/spawn.rs:118:18
    |
118 |         flags |= libc::POSIX_SPAWN_SETSIGMASK;
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i16`

error[E0277]: no implementation for `i32 |= i16`
   --> src/fork_exec/spawn.rs:118:15
    |
118 |         flags |= libc::POSIX_SPAWN_SETSIGMASK;
    |               ^^ no implementation for `i32 |= i16`
    |
    = help: the trait `BitOrAssign<i16>` is not implemented for `i32`
    = help: the following other types implement trait `BitOrAssign<Rhs>`:
              `i32` implements `BitOrAssign<&i32>`
              `i32` implements `BitOrAssign`

error[E0308]: mismatched types
   --> src/fork_exec/spawn.rs:120:22
    |
120 |             flags |= libc::POSIX_SPAWN_SETPGROUP;
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i16`

error[E0277]: no implementation for `i32 |= i16`
   --> src/fork_exec/spawn.rs:120:19
    |
120 |             flags |= libc::POSIX_SPAWN_SETPGROUP;
    |                   ^^ no implementation for `i32 |= i16`
    |
    = help: the trait `BitOrAssign<i16>` is not implemented for `i32`
    = help: the following other types implement trait `BitOrAssign<Rhs>`:
              `i32` implements `BitOrAssign<&i32>`
              `i32` implements `BitOrAssign`

Some errors have detailed explanations: E0277, E0308, E0425, E0432, E0433, E0609.
For more information about an error, try `rustc --explain E0277`.
warning: [email protected]: Cannot find sphinx-build to build man pages.
warning: [email protected]: If you install it now you need to run `cargo clean` and rebuild, or set $FISH_BUILD_DOCS=1 explicitly.
error: could not compile `fish` (lib) due to 13 previous errors
user@build:~/projekt/fish-shell%
@extrowerk extrowerk added the C-bug Category: bug label May 9, 2025
@tgross35 tgross35 added C-feature-request Category: new feature or request E-help-wanted Call for participation: Help is requested to fix this issue. and removed C-bug Category: bug labels May 9, 2025
@tgross35 tgross35 linked a pull request May 12, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-feature-request Category: new feature or request E-help-wanted Call for participation: Help is requested to fix this issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants