This repository was archived by the owner on Dec 18, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
iroh-one and iroh-p2p fail to build #294
Copy link
Copy link
Open
Description
Steps to reproduce:
cd iroh-onecargo build
Expected: build without error.
Observed: build failure:
Compiling iroh-p2p v0.2.0 (/home/fabrice/dev/perso/beetle/iroh-p2p)
error[E0308]: mismatched types
--> iroh-p2p/src/swarm.rs:44:41
|
44 | let quic_config = quic::Config::new(keypair);
| ----------------- ^^^^^^^ expected enum `libp2p_core::identity::Keypair`, found enum `libp2p::identity::Keypair`
| |
| arguments to this function are incorrect
|
= note: enum `libp2p::identity::Keypair` and enum `libp2p_core::identity::Keypair` have similar names, but are actually distinct types
note: enum `libp2p::identity::Keypair` is defined in crate `libp2p_core`
--> /home/fabrice/.cargo/registry/src/github.com-1ecc6299db9ec823/libp2p-core-0.38.0/src/identity.rs:68:1
|
68 | pub enum Keypair {
| ^^^^^^^^^^^^^^^^
note: enum `libp2p_core::identity::Keypair` is defined in crate `libp2p_core`
--> /home/fabrice/.cargo/registry/src/github.com-1ecc6299db9ec823/libp2p-core-0.39.0/src/identity.rs:68:1
|
68 | pub enum Keypair {
| ^^^^^^^^^^^^^^^^
= note: perhaps two different versions of crate `libp2p_core` are being used?
note: associated function defined here
--> /home/fabrice/.cargo/registry/src/github.com-1ecc6299db9ec823/libp2p-quic-0.7.0-alpha.2/src/endpoint.rs:94:12
|
94 | pub fn new(keypair: &libp2p_core::identity::Keypair) -> Self {
| ^^^
error[E0599]: the method `map` exists for struct `OrTransport<GenTransport<libp2p::libp2p_quic::tokio::Provider>, Boxed<(PeerId, StreamMuxerBox)>>`, but its trait bounds were not satisfied
--> iroh-p2p/src/swarm.rs:96:10
|
96 | .map(|o, _| match o {
| ^^^ method cannot be called on `OrTransport<GenTransport<libp2p::libp2p_quic::tokio::Provider>, Boxed<(PeerId, StreamMuxerBox)>>` due to unsatisfied trait bounds
|
::: /home/fabrice/.cargo/registry/src/github.com-1ecc6299db9ec823/libp2p-core-0.38.0/src/transport/choice.rs:29:1
|
29 | pub struct OrTransport<A, B>(#[pin] A, #[pin] B);
| ----------------------------
| |
| doesn't satisfy `_: Iterator`
| doesn't satisfy `_: libp2p::Transport`
|
::: /home/fabrice/.cargo/registry/src/github.com-1ecc6299db9ec823/libp2p-quic-0.7.0-alpha.2/src/transport.rs:62:1
|
62 | pub struct GenTransport<P: Provider> {
| ------------------------------------ doesn't satisfy `_: libp2p::Transport`
|
= note: the following trait bounds were not satisfied:
`GenTransport<libp2p::libp2p_quic::tokio::Provider>: libp2p::Transport`
which is required by `OrTransport<GenTransport<libp2p::libp2p_quic::tokio::Provider>, Boxed<(PeerId, StreamMuxerBox)>>: libp2p::Transport`
`OrTransport<GenTransport<libp2p::libp2p_quic::tokio::Provider>, Boxed<(PeerId, StreamMuxerBox)>>: Iterator`
which is required by `&mut OrTransport<GenTransport<libp2p::libp2p_quic::tokio::Provider>, Boxed<(PeerId, StreamMuxerBox)>>: Iterator`
Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `iroh-p2p` due to 2 previous errors
There's a conflict between libp2p-core 0.38.0 and 0.39.0 which are both pulled by libp2p 0.50.
Metadata
Metadata
Assignees
Labels
No labels