Closed lucasjinreal closed 1 year ago
It seems you’re using Windows. I supposed you tried building exa after #820 was merged? Could you give more info and a more complete backtrace?
Yes, am on windows, so I am not able make it install or built.
It seems like you posted a small extract of the error message you get. Could you post the command you ran and the complete output?
I have same issue.
$PSVersionTable
Name Value
---- -----
PSVersion 5.1.22621.963
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.22621.963
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
➜ rustup toolchain list
stable-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc (default)
➜ rustc --version
rustc 1.70.0-nightly (7820b62d2 2023-03-05)
➜ cargo install exa
Updating crates.io index
Downloaded exa v0.10.1
Downloaded 1 crate (136.6 KB) in 0.58s
Installing exa v0.10.1
Downloaded glob v0.3.1
Downloaded pkg-config v0.3.26
Downloaded number_prefix v0.4.0
Downloaded percent-encoding v2.2.0
Downloaded tinyvec_macros v0.1.1
Downloaded vcpkg v0.2.15
Downloaded num_cpus v1.15.0
Downloaded unicode-normalization v0.1.22
Downloaded unicode-bidi v0.3.10
Downloaded form_urlencoded v1.1.0
Downloaded cc v1.0.79
Downloaded users v0.11.0
Downloaded tinyvec v1.6.0
Downloaded url v2.3.1
Downloaded scoped_threadpool v0.1.9
Downloaded lazy_static v1.4.0
Downloaded pad v0.1.6
Downloaded term_grid v0.1.7
Downloaded cfg-if v1.0.0
Downloaded locale v0.2.2
Downloaded libc v0.2.139
Downloaded git2 v0.13.25
Downloaded unicode-width v0.1.10
Downloaded term_size v0.3.2
Downloaded zoneinfo_compiled v0.5.1
Downloaded natord v1.0.9
Downloaded datetime v0.5.2
Downloaded libgit2-sys v0.12.26+1.3.0
Downloaded winapi v0.3.9
Downloaded byteorder v1.4.3
Downloaded libz-sys v1.1.8
Downloaded bitflags v1.3.2
Downloaded jobserver v0.1.26
Downloaded ansi_term v0.12.1
Downloaded idna v0.3.0
Downloaded log v0.4.17
Downloaded 36 crates (7.3 MB) in 3.20s (largest was `libz-sys` at 2.5 MB)
Compiling libc v0.2.139
Compiling winapi v0.3.9
Compiling jobserver v0.1.26
Compiling pkg-config v0.3.26
Compiling vcpkg v0.2.15
Compiling tinyvec_macros v0.1.1
Compiling unicode-width v0.1.10
Compiling log v0.4.17
Compiling cfg-if v1.0.0
Compiling unicode-bidi v0.3.10
Compiling percent-encoding v2.2.0
Compiling byteorder v1.4.3
Compiling bitflags v1.3.2
Compiling lazy_static v1.4.0
Compiling glob v0.3.1
Compiling natord v1.0.9
Compiling scoped_threadpool v0.1.9
Compiling number_prefix v0.4.0
Compiling num_cpus v1.15.0
Compiling tinyvec v1.6.0
Compiling pad v0.1.6
Compiling term_grid v0.1.7
Compiling form_urlencoded v1.1.0
Compiling cc v1.0.79
Compiling locale v0.2.2
Compiling users v0.11.0
error[E0433]: failed to resolve: could not find `unix` in `os`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:36:14
|
36 | use std::os::unix::ffi::OsStrExt;
| ^^^^ could not find `unix` in `os`
error[E0432]: unresolved imports `libc::uid_t`, `libc::gid_t`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\lib.rs:128:16
|
128 | pub use libc::{uid_t, gid_t};
| ^^^^^ ^^^^^ no `gid_t` in the root
| |
| no `uid_t` in the root
error[E0432]: unresolved imports `libc::uid_t`, `libc::gid_t`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:45:20
|
45 | use libc::{c_char, uid_t, gid_t, c_int};
| ^^^^^ ^^^^^ no `gid_t` in the root
| |
| no `uid_t` in the root
|
= help: consider importing this unresolved item instead:
uid_t
= help: consider importing this unresolved item instead:
gid_t
error[E0432]: unresolved import `libc::passwd`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:46:5
|
46 | use libc::passwd as c_passwd;
| ^^^^^^^^^^^^^^^^^^^^^^^^ no `passwd` in the root
error[E0432]: unresolved import `libc::group`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:47:5
|
47 | use libc::group as c_group;
| ^^^^^^^^^^^^^^^^^^^^^^ no `group` in the root
error[E0432]: unresolved imports `libc::uid_t`, `libc::gid_t`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\cache.rs:87:12
|
87 | use libc::{uid_t, gid_t};
| ^^^^^ ^^^^^ no `gid_t` in the root
| |
| no `uid_t` in the root
|
= help: consider importing this unresolved item instead:
uid_t
= help: consider importing this unresolved item instead:
gid_t
error[E0432]: unresolved imports `libc::uid_t`, `libc::gid_t`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\mock.rs:63:16
|
63 | pub use libc::{uid_t, gid_t};
| ^^^^^ ^^^^^ no `gid_t` in the root
| |
| no `uid_t` in the root
|
= help: consider importing this unresolved item instead:
uid_t
= help: consider importing this unresolved item instead:
gid_t
error[E0432]: unresolved imports `libc::uid_t`, `libc::gid_t`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\switch.rs:4:12
|
4 | use libc::{uid_t, gid_t, c_int};
| ^^^^^ ^^^^^ no `gid_t` in the root
| |
| no `uid_t` in the root
|
= help: consider importing this unresolved item instead:
uid_t
= help: consider importing this unresolved item instead:
gid_t
error[E0432]: unresolved imports `libc::uid_t`, `libc::gid_t`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\traits.rs:4:12
|
4 | use libc::{uid_t, gid_t};
| ^^^^^ ^^^^^ no `gid_t` in the root
| |
| no `uid_t` in the root
|
= help: consider importing this unresolved item instead:
uid_t
= help: consider importing this unresolved item instead:
gid_t
error[E0433]: failed to resolve: could not find `UserExtras` in `os`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:78:26
|
78 | let extras = os::UserExtras::default();
| ^^^^^^^^^^ could not find `UserExtras` in `os`
error[E0433]: failed to resolve: could not find `GroupExtras` in `os`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:192:26
|
192 | let extras = os::GroupExtras::default();
| ^^^^^^^^^^^ could not find `GroupExtras` in `os`
error[E0433]: failed to resolve: could not find `UserExtras` in `os`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:266:28
|
266 | extras: os::UserExtras::from_passwd(passwd),
| ^^^^^^^^^^ could not find `UserExtras` in `os`
error[E0433]: failed to resolve: could not find `GroupExtras` in `os`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:280:23
|
280 | extras: os::GroupExtras::from_struct(group),
| ^^^^^^^^^^^ could not find `GroupExtras` in `os`
error[E0412]: cannot find type `UserExtras` in module `os`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:57:17
|
57 | extras: os::UserExtras,
| ^^^^^^^^^^ not found in `os`
error[E0412]: cannot find type `GroupExtras` in module `os`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:171:17
|
171 | extras: os::GroupExtras,
| ^^^^^^^^^^^ not found in `os`
error[E0425]: cannot find function `getpwuid_r` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:336:19
|
336 | libc::getpwuid_r(uid, &mut passwd, buf.as_mut_ptr(), buf.len(), &mut result)
| ^^^^^^^^^^ not found in `libc`
error[E0425]: cannot find function `getpwnam_r` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:398:19
|
398 | libc::getpwnam_r(username.as_ptr(), &mut passwd, buf.as_mut_ptr(), buf.len(), &mut result)
| ^^^^^^^^^^ not found in `libc`
error[E0425]: cannot find function `getgrgid_r` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:451:19
|
451 | libc::getgrgid_r(gid, &mut passwd, buf.as_mut_ptr(), buf.len(), &mut result)
| ^^^^^^^^^^ not found in `libc`
error[E0425]: cannot find function `getgrnam_r` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:513:19
|
513 | libc::getgrnam_r(groupname.as_ptr(), &mut group, buf.as_mut_ptr(), buf.len(), &mut result)
| ^^^^^^^^^^ not found in `libc`
error[E0425]: cannot find function `getuid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:556:20
|
556 | unsafe { libc::getuid() }
| ^^^^^^ help: a function with a similar name exists: `getpid`
|
::: C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\libc-0.2.139\src\windows\mod.rs:486:5
|
486 | pub fn getpid() -> ::c_int;
| -------------------------- similarly named function `getpid` defined here
error[E0425]: cannot find function `geteuid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:603:20
|
603 | unsafe { libc::geteuid() }
| ^^^^^^^ help: a function with a similar name exists: `getpid`
|
::: C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\libc-0.2.139\src\windows\mod.rs:486:5
|
486 | pub fn getpid() -> ::c_int;
| -------------------------- similarly named function `getpid` defined here
error[E0425]: cannot find function `getgid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:647:20
|
647 | unsafe { libc::getgid() }
| ^^^^^^ help: a function with a similar name exists: `getpid`
|
::: C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\libc-0.2.139\src\windows\mod.rs:486:5
|
486 | pub fn getpid() -> ::c_int;
| -------------------------- similarly named function `getpid` defined here
error[E0425]: cannot find function `getegid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:691:20
|
691 | unsafe { libc::getegid() }
| ^^^^^^^ help: a function with a similar name exists: `getpid`
|
::: C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\libc-0.2.139\src\windows\mod.rs:486:5
|
486 | pub fn getpid() -> ::c_int;
| -------------------------- similarly named function `getpid` defined here
error[E0425]: cannot find function `getgroups` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:745:15
|
745 | libc::getgroups(1024, buff.as_mut_ptr())
| ^^^^^^^^^ not found in `libc`
error[E0425]: cannot find value `buff` in this scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:783:21
|
783 | let mut count = buff.len() as c_int;
| ^^^^ not found in this scope
error[E0425]: cannot find value `res` in this scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:799:8
|
799 | if res < 0 {
| ^^^ not found in this scope
error[E0425]: cannot find value `buff` in this scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:803:9
|
803 | buff.dedup();
| ^^^^ not found in this scope
error[E0425]: cannot find value `buff` in this scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:804:9
|
804 | buff.into_iter()
| ^^^^ not found in this scope
error[E0425]: cannot find function `setpwent` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:858:11
|
858 | libc::setpwent();
| ^^^^^^^^ not found in `libc`
error[E0425]: cannot find function `endpwent` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:873:24
|
873 | unsafe { libc::endpwent() };
| ^^^^^^^^ not found in `libc`
error[E0425]: cannot find function `getpwent` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:890:37
|
890 | let result = unsafe { libc::getpwent() };
| ^^^^^^^^ not found in `libc`
error[E0425]: cannot find function `setuid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\switch.rs:41:26
|
41 | match unsafe { libc::setuid(uid) } {
| ^^^^^^ help: a function with a similar name exists: `getpid`
|
::: C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\libc-0.2.139\src\windows\mod.rs:486:5
|
486 | pub fn getpid() -> ::c_int;
| -------------------------- similarly named function `getpid` defined here
error[E0425]: cannot find function `setgid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\switch.rs:72:26
|
72 | match unsafe { libc::setgid(gid) } {
| ^^^^^^ help: a function with a similar name exists: `getpid`
|
::: C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\libc-0.2.139\src\windows\mod.rs:486:5
|
486 | pub fn getpid() -> ::c_int;
| -------------------------- similarly named function `getpid` defined here
error[E0425]: cannot find function `seteuid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\switch.rs:103:26
|
103 | match unsafe { libc::seteuid(uid) } {
| ^^^^^^^ not found in `libc`
error[E0425]: cannot find function `setegid` in crate `libc`
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\switch.rs:134:26
|
134 | match unsafe { libc::setegid(gid) } {
| ^^^^^^^ not found in `libc`
Compiling unicode-normalization v0.1.22
error[E0599]: no function or associated item named `from_bytes` found for struct `OsStr` in the current scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:252:20
|
252 | T::from(OsStr::from_bytes(CStr::from_ptr(p).to_bytes()))
| ^^^^^^^^^^ function or associated item not found in `OsStr`
error[E0599]: no method named `as_bytes` found for reference `&OsStr` in the current scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:380:57
|
380 | let username = match CString::new(username.as_ref().as_bytes()) {
| ^^^^^^^^ method not found in `&OsStr`
error[E0599]: no method named `as_bytes` found for reference `&OsStr` in the current scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:495:59
|
495 | let groupname = match CString::new(groupname.as_ref().as_bytes()) {
| ^^^^^^^^ method not found in `&OsStr`
error[E0599]: no method named `as_bytes` found for reference `&OsStr` in the current scope
--> C:\Users\dzdzb\.cargo\registry\src\github.com-1ecc6299db9ec823\users-0.11.0\src\base.rs:782:47
|
782 | let name = CString::new(username.as_ref().as_bytes()).unwrap();
| ^^^^^^^^ method not found in `&OsStr`
Compiling libz-sys v1.1.8
Compiling libgit2-sys v0.12.26+1.3.0
Some errors have detailed explanations: E0412, E0425, E0432, E0433, E0599.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `users` due to 39 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `exa v0.10.1`, intermediate artifacts can be found at `C:\Users\dzdzb\AppData\Local\Temp\cargo-installHyKfWn`
~ took 1m3s
Yes, same issue here
Any idea @skyline75489?
Maybe same as #1167.
cargo install exa
won't work, because there's no release containing Windows support yet. I can compile it using source code and rustc 1.63.0 (4b91a6ea7 2022-08-08)
just fine
I was unable to build with rustc 1.65 on windows.
I think 1.65 is untested & unsupported atm. In rust-toolchain.toml
, 1.63 is specified.
that would be sad since all my toolchains using rust 1.65
I think it would be better for a utility lib support a more widely toolchains versions
I just tired a clean build from source with rust 1.65 and it works. Are you building from source or using cargo install exa
? The newest release 0.10.1 doesn't have the Windows support code, so cargo install exa
won't work
Update: I was using 1.67actually, 2023-01-10 version.
cargo install exa
not work.
Yeah, as I said cargo install exa
does not work because there's no newer release with Windows support. To build it on Windows, you have to build it from source.
I tried source not work as well
I was able to install exa from source on windows with this command:
cargo install --git https://github.com/ogham/exa.git
This builds the latest code from the master
branch.
The reason cargo install exa
doesn't work is because it would use the latest release on crates.io, which doesn't have the windows support code merged, right?
\users-0.11.0\src\switch.rs:72:26 | 72 | match unsafe { libc::setgid(gid) } { | ^^^^^^ help: a function with a similar name exists: `getpid
``