Skip to content

Installing via cargo fails #5417

@charmitro

Description

@charmitro

Describe the bug

wasmer is not intallable via cargo after tag v6.0.0-alpha.1.

Issue:

cargo/rustc versions:

$ cargo -vV; rustc -vV
cargo 1.84.1 (66221abde 2024-11-19)
release: 1.84.1
commit-hash: 66221abdeca2002d318fde6efff516aab091df0e
commit-date: 2024-11-19
host: x86_64-unknown-linux-gnu
libgit2: 1.8.1 (sys:0.19.0 vendored)
libcurl: 8.9.0-DEV (sys:0.4.74+curl-8.9.0 vendored ssl:OpenSSL/1.1.1w)
ssl: OpenSSL 1.1.1w  11 Sep 2023
os: Debian 12.0.0 (bookworm) [64-bit]

rustc 1.84.1 (e71f9a9a9 2025-01-27)
binary: rustc
commit-hash: e71f9a9a98b0faf423844bf0ba7438f29dc27d58
commit-date: 2025-01-27
host: x86_64-unknown-linux-gnu
release: 1.84.1
LLVM version: 19.1.5

Steps to reproduce

  1. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. Invoke
cargo install wasmer-cli

Expected behavior

Should install.

Actual behavior

$ cargo install wasmer-cli --features singlepass,cranelift
    Updating crates.io index
  Downloaded wasmer-cli v5.0.4
  Downloaded 1 crate (300.8 KB) in 0.36s
  Installing wasmer-cli v5.0.4
    Updating crates.io index
     Locking 584 packages to latest compatible versions
      Adding cargo_metadata v0.15.4 (available: v0.19.1)
      Adding colored v2.2.0 (available: v3.0.0)
      Adding cranelift-bforest v0.110.2 (available: v0.110.3)
      Adding cranelift-codegen v0.110.2 (available: v0.110.3)
      Adding cranelift-entity v0.110.2 (available: v0.110.3)
      Adding cranelift-frontend v0.110.2 (available: v0.110.3)
      Adding cranelift-isle v0.110.2 (available: v0.110.3)
      Adding dirs v4.0.0 (available: v6.0.0)
      Adding indexmap v1.9.3 (available: v2.7.1)
  [...]
   Compiling clap_builder v4.5.30
error[E0308]: mismatched types
  --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/virtual-fs-0.20.0/src/static_fs.rs:33:22
   |
33 |             volumes: volumes.clone(),
   |                      ^^^^^^^^^^^^^^^ expected `IndexMap<String, ...>`, found `IndexMap<String, Volume<'_>>`
   |
   = note: `IndexMap<String, Volume<'_>>` and `IndexMap<String, ...>` have similar names, but are actually distinct types
note: `IndexMap<String, Volume<'_>>` is defined in crate `indexmap`
  --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-2.7.1/src/map.rs:87:1
   |
87 | pub struct IndexMap<K, V, S = RandomState> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: `IndexMap<String, ...>` is defined in crate `indexmap`
  --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/indexmap-1.9.3/src/map.rs:71:1
   |
71 | pub struct IndexMap<K, V, S = RandomState> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: perhaps two different versions of crate `indexmap` are being used?

   Compiling regalloc2 v0.9.3
   Compiling clap_derive v4.5.28
For more information about this error, try `rustc --explain E0308`.
error: could not compile `virtual-fs` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `wasmer-cli v5.0.4`, intermediate artifacts can be found at `/tmp/cargo-installmmSyKM`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions