Skip to content
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

rust nightly build failed #1163

Closed
lucasjinreal opened this issue Feb 21, 2023 · 16 comments
Closed

rust nightly build failed #1163

lucasjinreal opened this issue Feb 21, 2023 · 16 comments

Comments

@lucasjinreal
Copy link

\users-0.11.0\src\switch.rs:72:26 | 72 | match unsafe { libc::setgid(gid) } { | ^^^^^^ help: a function with a similar name exists: `getpid
``

@ariasuni
Copy link
Collaborator

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?

@lucasjinreal
Copy link
Author

Yes, am on windows, so I am not able make it install or built.

@ariasuni
Copy link
Collaborator

ariasuni commented Mar 1, 2023

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?

@mimikun
Copy link

mimikun commented Mar 6, 2023

I have same issue.

my specifications:

  • Windows 11
  • PowerShell v5.1

PowerShell version table:

$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:

➜ rustup toolchain list
stable-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc (default)

rustc version

➜ rustc --version
rustc 1.70.0-nightly (7820b62d2 2023-03-05)

Install log(full, very long)

➜ 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

@lucasjinreal
Copy link
Author

Yes, same issue here

@ariasuni
Copy link
Collaborator

ariasuni commented Mar 7, 2023

Any idea @skyline75489?

Maybe same as #1167.

@skyline75489
Copy link
Contributor

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

@lucasjinreal
Copy link
Author

I was unable to build with rustc 1.65 on windows.

@skyline75489
Copy link
Contributor

I think 1.65 is untested & unsupported atm. In rust-toolchain.toml, 1.63 is specified.

@lucasjinreal
Copy link
Author

that would be sad since all my toolchains using rust 1.65

@lucasjinreal
Copy link
Author

I think it would be better for a utility lib support a more widely toolchains versions

@skyline75489
Copy link
Contributor

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

@lucasjinreal
Copy link
Author

lucasjinreal commented Mar 9, 2023

Update: I was using 1.67actually, 2023-01-10 version.
cargo install exa not work.

图片

@skyline75489
Copy link
Contributor

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.

@lucasjinreal
Copy link
Author

I tried source not work as well

@domsleee
Copy link

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants