stepancheg / grpc-rust

Rust implementation of gRPC
MIT License
1.37k stars 124 forks source link

Examples don't build #115

Closed davideagen closed 6 years ago

davideagen commented 6 years ago

Looks like there is a problem with tokio. The same failures occur for greeter_client:

$ cargo build --bin greeter_server Compiling tokio-core v0.1.12 Compiling protoc-rust-grpc v0.3.0 (file:///home/user/dev/rust/grpc-rust/protoc-rust-grpc) Compiling tls-api-native-tls v0.1.19 Compiling grpc-examples v0.0.0 (file:///home/user/dev/rust/grpc-rust/grpc-examples) error[E0061]: this function takes 1 parameter but 0 parameters were supplied --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:276:39 | 276 | if let Async::NotReady = self.poll_read() { | ^^^^^^^^^ expected 1 parameter

error[E0308]: mismatched types --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:276:16 276 if let Async::NotReady = self.poll_read() { ^^^^^^^^^^^^^^^ expected enum std::result::Result, found enum futures::Async
= note: expected type `std::result::Result<futures::Async<usize>, std::io::Error>`
           found type `futures::Async<_>`

error[E0061]: this function takes 1 parameter but 0 parameters were supplied --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:289:39 | 289 | if let Async::NotReady = self.poll_write() { | ^^^^^^^^^^ expected 1 parameter

error[E0308]: mismatched types --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:289:16 289 if let Async::NotReady = self.poll_write() { ^^^^^^^^^^^^^^^ expected enum std::result::Result, found enum futures::Async
= note: expected type `std::result::Result<futures::Async<usize>, std::io::Error>`
           found type `futures::Async<_>`

error[E0061]: this function takes 1 parameter but 0 parameters were supplied --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:300:39 | 300 | if let Async::NotReady = self.poll_write() { | ^^^^^^^^^^ expected 1 parameter

error[E0308]: mismatched types --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:300:16 300 if let Async::NotReady = self.poll_write() { ^^^^^^^^^^^^^^^ expected enum std::result::Result, found enum futures::Async
= note: expected type `std::result::Result<futures::Async<usize>, std::io::Error>`
           found type `futures::Async<_>`

error[E0061]: this function takes 1 parameter but 0 parameters were supplied --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:335:39 | 335 | if let Async::NotReady = self.poll_read() { | ^^^^^^^^^ expected 1 parameter

error[E0308]: mismatched types --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:335:16 335 if let Async::NotReady = self.poll_read() { ^^^^^^^^^^^^^^^ expected enum std::result::Result, found enum futures::Async
= note: expected type `std::result::Result<futures::Async<usize>, std::io::Error>`
           found type `futures::Async<_>`

error[E0061]: this function takes 1 parameter but 0 parameters were supplied --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:350:39 | 350 | if let Async::NotReady = self.poll_write() { | ^^^^^^^^^^ expected 1 parameter

error[E0308]: mismatched types --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:350:16 350 if let Async::NotReady = self.poll_write() { ^^^^^^^^^^^^^^^ expected enum std::result::Result, found enum futures::Async
= note: expected type `std::result::Result<futures::Async<usize>, std::io::Error>`
           found type `futures::Async<_>`

error[E0061]: this function takes 1 parameter but 0 parameters were supplied --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:361:39 | 361 | if let Async::NotReady = self.poll_write() { | ^^^^^^^^^^ expected 1 parameter

error[E0308]: mismatched types --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.12/src/reactor/poll_evented.rs:361:16 361 if let Async::NotReady = self.poll_write() { ^^^^^^^^^^^^^^^ expected enum std::result::Result, found enum futures::Async
= note: expected type `std::result::Result<futures::Async<usize>, std::io::Error>`
           found type `futures::Async<_>`

error: aborting due to 12 previous errors

Some errors occurred: E0061, E0308. For more information about an error, try rustc --explain E0061. error: Could not compile tokio-core. warning: build failed, waiting for other jobs to finish... error: build failed

stepancheg commented 6 years ago

Works fine on my notebook:

[nga@nga-mbp:...vel/grpc-rust/grpc-examples;master]% cargo build --bin greeter_server
   Compiling grpc-compiler v0.3.0 (file:///Users/nga/devel/grpc-rust/grpc-compiler)
   Compiling tls-api-native-tls v0.1.19
   Compiling grpc v0.3.0 (file:///Users/nga/devel/grpc-rust/grpc)
   Compiling protoc-rust-grpc v0.3.0 (file:///Users/nga/devel/grpc-rust/protoc-rust-grpc)
   Compiling grpc-examples v0.0.0 (file:///Users/nga/devel/grpc-rust/grpc-examples)
    Finished dev [unoptimized + debuginfo] target(s) in 13.97 secs
[nga@nga-mbp:...vel/grpc-rust/grpc-examples;master]% git rev-parse HEAD
bbf9490d31e217c1bfee59c37eb061e7f03d671f

Which version are you using? 0.3.0 should work, 0.2.* shouldn't.

davideagen commented 6 years ago

I tried it on another system and it worked fine too. Not sure what my problem is on this one. Sorry.

davideagen commented 6 years ago

@davideagen

Fixed it on this system with a cargo update. After doing that it built just fine.

Cargo update output:

$ cargo update
    Updating registry `https://github.com/rust-lang/crates.io-index`
      Adding arrayvec v0.4.7                                                    
    Updating atty v0.2.9 -> v0.2.10
    Updating base64 v0.9.0 -> v0.9.1
    Updating bitflags v1.0.1 -> v1.0.3
    Updating bytes v0.4.6 -> v0.4.7
    Updating cc v1.0.10 -> v1.0.14
    Removing crossbeam v0.2.10
      Adding crossbeam-deque v0.3.0
      Adding crossbeam-epoch v0.4.1
      Adding crossbeam-utils v0.2.2
      Adding crossbeam-utils v0.3.2
    Updating futures-cpupool v0.1.1 -> v0.1.8
    Updating log v0.3.6 -> v0.3.9
      Adding memoffset v0.2.1
      Adding nodrop v0.1.12
    Updating num_cpus v1.0.0 -> v1.8.0
    Updating pkg-config v0.3.9 -> v0.3.11
    Updating scoped-tls v0.1.0 -> v0.1.1
      Adding scopeguard v0.3.3
      Adding tokio v0.1.5
    Updating tokio-core v0.1.12 -> v0.1.17
      Adding tokio-executor v0.1.2
      Adding tokio-reactor v0.1.1
      Adding tokio-tcp v0.1.0
      Adding tokio-threadpool v0.1.2
      Adding tokio-timer v0.2.1
      Adding tokio-udp v0.1.0