[Error Handling] 'workspace-inheritance' is required

Hi all!

I have some problem to build the RUST application(wasmtime) in fuzzing test. I use the rustc and cargo version like below :slight_smile:

rustc : rustc-1.64-nightly
cargo : cargo 1.63.0-beta.2

I want to build the wasmtime fuzz cargo package(wasmtime/fuzz at main 路 bytecodealliance/wasmtime 路 GitHub) and this package set the Cargo.toml in fuzz directory like below :

[package]
name = "wasmtime-fuzz"
version = "0.0.0"
edition.workspace = true
publish = false

[lints]
workspace = true

[package.metadata]
cargo-fuzz = true

[dependencies]
anyhow = { workspace = true }
once_cell = { workspace = true }
cranelift-codegen = { workspace = true, features = ["incremental-cache", "x86", "arm64", "s390x", "riscv64"] }
cranelift-reader = { workspace = true }
cranelift-wasm = { workspace = true }
cranelift-filetests = { workspace = true }
cranelift-interpreter = { workspace = true }
cranelift-fuzzgen = { workspace = true }
cranelift-native = { workspace = true }
cranelift-control = { workspace = true }
libfuzzer-sys = { workspace = true, features = ["arbitrary-derive"] }
target-lexicon = { workspace = true }
smallvec = { workspace = true }
wasmparser = { workspace = true }
wasmtime = { workspace = true, features = ["winch"] }
wasmtime-fuzzing = { workspace = true }
component-test-util = { workspace = true }
component-fuzz-util = { workspace = true }

[build-dependencies]
anyhow = { workspace = true }
proc-macro2 = "1.0"
arbitrary = { workspace = true, features = ["derive"] }
rand = { version = "0.8.0" }
quote = "1.0"
component-fuzz-util = { workspace = true }

[features]
default = ['fuzz-spec-interpreter']
fuzz-spec-interpreter = ['wasmtime-fuzzing/fuzz-spec-interpreter']
chaos = ["cranelift-control/chaos"]

[[bin]]
name = "compile"
path = "fuzz_targets/compile.rs"
test = false
doc = false

[[bin]]
name = "instantiate"
path = "fuzz_targets/instantiate.rs"
test = false
doc = false

[[bin]]
name = "api_calls"
path = "fuzz_targets/api_calls.rs"
test = false
doc = false

[[bin]]
name = "differential"
path = "fuzz_targets/differential.rs"
test = false
doc = false

[[bin]]
name = "spectests"
path = "fuzz_targets/spectests.rs"
test = false
doc = false

[[bin]]
name = "table_ops"
path = "fuzz_targets/table_ops.rs"
test = false
doc = false

[[bin]]
name = "stacks"
path = "fuzz_targets/stacks.rs"
test = false
doc = false

[[bin]]
name = "cranelift-fuzzgen"
path = "fuzz_targets/cranelift-fuzzgen.rs"
test = false
doc = false

[[bin]]
name = "instantiate-many"
path = "fuzz_targets/instantiate-many.rs"
test = false
doc = false

[[bin]]
name = "component_api"
path = "fuzz_targets/component_api.rs"
test = false
doc = false

[[bin]]
name = "cranelift-icache"
path = "fuzz_targets/cranelift-icache.rs"
test = false
doc = false

However, when i build the this cargo package using the build commend ( cargo build), then there are some errors like below :

wasmtime/fuzz$ cargo build
error: failed to parse manifest at `/home/dy3199/fuzz-test/application/wasmtime/fuzz/Cargo.toml`

Caused by:
  feature `workspace-inheritance` is required

  The package requires the Cargo feature called `workspace-inheritance`, but that feature is not stabilized in this version of Cargo (1.63.0-beta.2 (a5e08c470 2022-06-23)).
  Consider trying a newer version of Cargo (this may require the nightly release).
  See https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#workspace-inheritance for more information about the status of this feature.

I have no insight how to handle this issue. Is there any solution??
Thank you very much! Have a nice day :slight_smile:
Cheers

Not my area of expertise but I see that your version of cargo is not as recent as your version of rustc, and that both are not current. You may want to just run rustup update to upgrade to the latest version of each which is currently 1.76.0.

Or do you need that beta version of cargo for some reason?

Thank you for your feedback!

Unfortunately, I have to use the fixed rustc version (1.64-nightly version) to test the our tools. Then, I think that there are some approaches to solve this problem.

Firstly, the test application (wasmtime) should version down to fit rustc-1.64 version. However, I want to maintain the program as recently version. In this situation, is there any approach or solution to solve the problem??

Thank you very much!

I don't know, sorry. :frowning:

Thanks your valuable feedback!

Have a nice day!

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.