You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So on aix, hurd and redox, any crate that enables uucore/perms fails to build:
error[E0432]: unresolved import `crate::features::safe_traversal`
--> src/uucore/src/lib/features/perms.rs:32:22
|
32 | use crate::features::safe_traversal::{DirFd, SymlinkBehavior};
| ^^^^^^^^^^^^^^ could not find `safe_traversal` in `features`
chmod, chown, chgrp, chcon, runcon, cp, mv and install all enable perms.
Why it matters for Redox specifically
feat_os_unix_redox includes chmod (Cargo.toml:371-377), and uu_chmod enables uucore/perms. So the documented Redox feature set does not build.
Add target_os = "linux" to the exclusion list in both features.rs and lib.rs, then cargo build -p uu_chmod. The same E0432 appears.
Suggested fix
Either gate the perms.rs import and its uses on the same cfg as the module and provide a fallback for those targets, or widen safe_traversal to compile on them. Re-enabling the Redox check-only job afterwards would stop it regressing.
A separate Redox build break, unrelated to the perms import above: since #14623, create_link_std in src/uucore/src/lib/features/fs.rs, which is compiled for Windows and Redox, calls rustix::fs::symlinkat in its non-Windows branch, but rustix does not provide symlinkat on Redox. cargo check -p uucore --features fs --target x86_64-unknown-redox fails with "cannot find function symlinkat in module rustix::fs" (fs.rs:1202 at cacdd8d). std::os::unix::fs::symlink would work in that branch.
A separate Redox build break, unrelated to the perms import above: since #14623, create_link_std in src/uucore/src/lib/features/fs.rs, which is compiled for Windows and Redox, calls rustix::fs::symlinkat in its non-Windows branch, but rustix does not provide symlinkat on Redox. cargo check -p uucore --features fs --target x86_64-unknown-redox fails with "cannot find function symlinkat in module rustix::fs" (fs.rs:1202 at cacdd8d). std::os::unix::fs::symlink would work in that branch.
Activity
xtqqczze commentedon Sep 15, 2026
@sylvestre I have this fixed locally, but I think there are some dependencies that require merging first.
xtqqczze commentedon Sep 15, 2026
@sylvestre Sorry, but the issue appears to be based on a misunderstanding:
perms.rsdoes not importsafe_traversalunconditionally.I think your LLM may have gotten confused here. There is, however, a real issue in
chmodat least.xtqqczze commentedon Sep 15, 2026
chmodsucceeds on Redox:chmodfails on AIX and Hurd. These failures are addressed by #14585.installfails on AIX, Hurd, and Redox. These failures are addressed by #14586.Gating of
safe_traversalis addressed by #14588.abendrothj commentedon Oct 1, 2026
A separate Redox build break, unrelated to the
permsimport above: since #14623,create_link_stdinsrc/uucore/src/lib/features/fs.rs, which is compiled for Windows and Redox, callsrustix::fs::symlinkatin its non-Windows branch, but rustix does not providesymlinkaton Redox.cargo check -p uucore --features fs --target x86_64-unknown-redoxfails with "cannot find functionsymlinkatin modulerustix::fs" (fs.rs:1202 at cacdd8d).std::os::unix::fs::symlinkwould work in that branch.xtqqczze commentedon Oct 1, 2026
Tracked by #14704.