nuta / nsh

A command-line shell like fish, but POSIX compatible.
906 stars 34 forks source link

nsh fails to build #6

Closed rapha8l closed 4 years ago

rapha8l commented 4 years ago

Hi,

As I saw some updates, I tried to build nsh on two machines, with same ending, building fails :

   Compiling textwrap v0.11.0
   Compiling heck v0.3.1
   Compiling proc-macro-error-attr v0.4.11
   Compiling proc-macro-error v0.4.11
   Compiling pest_meta v2.1.3
   Compiling quote v1.0.3
   Compiling atty v0.2.14
   Compiling signal-hook-registry v1.2.0
   Compiling dirs v1.0.5
   Compiling termion v1.5.5
   Compiling rand_core v0.5.1
   Compiling clap v2.33.0
   Compiling signal-hook v0.1.13
   Compiling rand_chacha v0.2.1
   Compiling rand_pcg v0.2.1
   Compiling rand v0.7.3
   Compiling syn-mid v0.5.0
   Compiling synstructure v0.12.3
   Compiling pest_generator v2.1.2
   Compiling phf_generator v0.8.0
   Compiling backtrace-sys v0.1.33
   Compiling backtrace v0.3.45
   Compiling proc-macro-hack v0.5.11
   Compiling pest_derive v2.1.0
error[E0433]: failed to resolve: could not find `__rt` in `quote`
   --> /home/rsalle/.cargo/registry/src/github.com-1ecc6299db9ec823/failure_derive-0.1.6/src/lib.rs:107:70
    |
107 | fn display_body(s: &synstructure::Structure) -> Result<Option<quote::__rt::TokenStream>, Error> {
    |                                                                      ^^^^ could not find `__rt` in `quote`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0433`.
error: could not compile `failure_derive`.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `nsh v0.3.0`, intermediate artifacts can be found at `/tmp/cargo-installwDSerl`

Caused by:
  build failed

and rustc --explain E0433 gives :

An undeclared type or module was used.

Erroneous code example:

let map = HashMap::new();
// error: failed to resolve: use of undeclared type or module `HashMap`

Please verify you didn't misspell the type/module's name or that you didn't
forget to import it:

use std::collections::HashMap; // HashMap has been imported.
let map: HashMap<u32, u32> = HashMap::new(); // So it can be used!

Thanks

nuta commented 4 years ago

I've published v0.3.1. Could you try installing again?

It seems that the compiler error comes from failure_derive due to use of a private interface and it would be fixed by this pull request.

nuta commented 4 years ago

Published v0.3.2 since v0.3.1 is still broken.

rapha8l commented 4 years ago

works on both tests Thanks !

rapha8l commented 4 years ago

Sorry, one more :-)

    Updating crates.io index
  Downloaded nsh v0.3.2
  Downloaded 1 crate (67.2 KB) in 1.84s
  Installing nsh v0.3.2
error: failed to compile `nsh v0.3.2`, intermediate artifacts can be found at `/tmp/cargo-installLVCI1u`

Caused by:
  failed to select a version for the requirement `quote = "= 1.0.2"`
  candidate versions found which didn't match: 1.0.3, 1.0.1, 1.0.0, ...
  location searched: crates.io index
required by package `nsh v0.3.2`
nuta commented 4 years ago

Thanks for letting me know! It seems quote 1.0.2 has been yanked. However, thankfully, failure 0.1.7 which addresses the root cause is now released. I'll update Cargo.toml to fix this bug again.

rapha8l commented 4 years ago

thanks !