kurtlawrence / papyrus

(Rust) repl
MIT License
440 stars 14 forks source link

Build fails on macOS #97

Closed rapodaca closed 4 years ago

rapodaca commented 4 years ago

Running macOS 10.14.6 Mojave and Rust 1.44.1 , I attempt to install from Cargo:

cargo +stable install papyrus --no-default-features --features="format,runnable"
    Updating crates.io index
  Installing papyrus v0.17.0
   Compiling libc v0.2.73
   Compiling cfg-if v0.1.10
   Compiling version_check v0.9.2
   Compiling getrandom v0.1.14
   Compiling typenum v1.12.0
   Compiling log v0.4.11
   Compiling proc-macro2 v1.0.19
   Compiling unicode-xid v0.2.1
   Compiling cc v1.0.58
   Compiling smallvec v1.4.1
   Compiling lazy_static v1.4.0
   Compiling scopeguard v1.1.0
   Compiling arc-swap v0.4.7
   Compiling bitflags v1.2.1
   Compiling byteorder v1.3.4
   Compiling ppv-lite86 v0.2.8
   Compiling syn v1.0.35
   Compiling subtle v2.2.3
   Compiling libloading v0.6.2
   Compiling arrayref v0.3.6
   Compiling rustc-demangle v0.1.16
   Compiling base91 v0.0.1
   Compiling arrayvec v0.5.1
   Compiling constant_time_eq v0.1.5
   Compiling glob v0.3.0
   Compiling crossbeam-channel v0.4.3
   Compiling generic-array v0.14.3
   Compiling lock_api v0.3.4
   Compiling kserd v0.4.1
   Compiling signal-hook-registry v1.2.0
   Compiling mio v0.7.0
   Compiling parking_lot_core v0.7.2
   Compiling atty v0.2.14
   Compiling dirs-sys v0.3.5
   Compiling backtrace v0.3.50
   Compiling quote v1.0.7
   Compiling fxhash v0.2.1
   Compiling blake3 v0.3.5
   Compiling rand_core v0.5.1
   Compiling signal-hook v0.1.16
   Compiling colored v2.0.0
   Compiling parking_lot v0.10.2
   Compiling dirs v3.0.1
   Compiling digest v0.9.0
   Compiling crypto-mac v0.8.0
   Compiling rand_chacha v0.2.2
   Compiling cmdtree v0.10.1
   Compiling crossterm v0.17.7
   Compiling rand v0.7.3
   Compiling uuid v0.8.1
   Compiling papyrus v0.17.0
error[E0432]: unresolved import `crossbeam_channel::Receiver`
  --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/repl/mod.rs:19:5
   |
19 | use crossbeam_channel::Receiver;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `Receiver` in the root

error[E0432]: unresolved imports `crossbeam_channel::unbounded`, `crossbeam_channel::Receiver`
 --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/run/interface.rs:3:25
  |
3 | use crossbeam_channel::{unbounded, Receiver};
  |                         ^^^^^^^^^  ^^^^^^^^ no `Receiver` in the root
  |                         |
  |                         no `unbounded` in the root

error[E0412]: cannot find type `Receiver` in crate `channel`
  --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/output/any_state.rs:38:42
   |
38 |     pub fn listen(&mut self) -> channel::Receiver<OutputChange> {
   |                                          ^^^^^^^^ not found in `channel`
   |
help: possible candidates are found in other modules, you can import them into scope
   |
1  | use core::ops::Receiver;
   |
1  | use crate::output::Receiver;
   |
1  | use std::ops::Receiver;
   |
1  | use std::sync::mpsc::Receiver;
   |
     and 1 other candidate

error[E0425]: cannot find function `unbounded` in crate `channel`
  --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/output/any_state.rs:39:33
   |
39 |         let (tx, rx) = channel::unbounded();
   |                                 ^^^^^^^^^ not found in `channel`

error[E0412]: cannot find type `Receiver` in crate `channel`
   --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/output/mod.rs:275:30
    |
275 | pub type Receiver = channel::Receiver<OutputChange>;
    |                              ^^^^^^^^ not found in `channel`
    |
help: possible candidates are found in other modules, you can import them into scope
    |
272 | use core::ops::Receiver;
    |
272 | use crate::output::Receiver;
    |
272 | use std::ops::Receiver;
    |
272 | use std::sync::mpsc::Receiver;
    |
      and 1 other candidate

error[E0412]: cannot find type `Sender` in crate `channel`
   --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/output/mod.rs:295:25
    |
295 |     tx: Option<channel::Sender<OutputChange>>,
    |                         ^^^^^^ not found in `channel`
    |
help: possible candidate is found in another module, you can import it into scope
    |
272 | use std::sync::mpsc::Sender;
    |

error[E0425]: cannot find function `bounded` in crate `crossbeam_channel`
  --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/repl/eval.rs:51:43
   |
51 |         let (tx, rx) = crossbeam_channel::bounded(1);
   |                                           ^^^^^^^ not found in `crossbeam_channel`

error[E0282]: type annotations needed
  --> /Users/rich/.cargo/registry/src/github.com-1ecc6299db9ec823/papyrus-0.17.0/src/output/read.rs:18:17
   |
18 |             tx: None,
   |                 ^^^^ cannot infer type for type parameter `T` declared on the enum `Option`

error: aborting due to 8 previous errors

Some errors have detailed explanations: E0282, E0412, E0425, E0432.
For more information about an error, try `rustc --explain E0282`.
error: could not compile `papyrus`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `papyrus v0.17.0`, intermediate artifacts can be found at `/var/folders/3l/tv12q1js3n1cm4qdg1wfj3dr0000gn/T/cargo-installtWrqC0`

Caused by:
  build failed

I also get a compile error trying to install the full version with nightly.

What can I do to resolve the errors?

kurtlawrence commented 4 years ago

Hi @rapodaca, should be fixed in 0.17.1 for the stable build. Nightly seems to be broken at the moment (one of the deps doesn't build).