-
Notifications
You must be signed in to change notification settings - Fork 292
Description
I'm trying to run the instructions from the Quickstart and I'm (newly, as of this week, I think) unable to compile a guest program. One of the errors seems to be fixed by unpinning the Rust nightly version, but doing so invokes a Rust compiler bug, as described below. If someone could help me figure out the right way to fix the issue, I'd happily make a PR.
When I run cargo +nightly-2024-09-30 install --git https://github.com/a16z/jolt --force --bins jolt, as in the quickstart guide, I get an error when trying to compile jolt:
Caused by:
rustc 1.83.0-nightly is not supported by the following package:
bytemuck_derive@1.9.2 requires rustc 1.84
I can fix this by using +nightly, without pinning to a version, instead. This allows me to install the jolt executable. Should the nightly version be unpinned in the quickstart guide and rust-toolchain.toml?
When I create a project and try to compile the guest with cargo run --release, I get the same error as above. I can get past this by running cargo +nightly run --release instead, but then I run into a Rust compiler bug, involving a number of errors like this one:
error: internal compiler error: Encountered anon const with inference variable args but no error reported
That appears to be this bug, but I'm not sure how to get past it in order to compile a Rust guest.
Any help would be greatly appreciated. Thanks!
For reference, here are steps to reproduce the Rust version mismatch:
$ cargo +nightly install --git https://github.com/a16z/jolt --force --bins jolt
$ jolt new foo
$ cd foo
$ cargo run --release
And here are steps to reproduce the compiler bug:
$ cargo +nightly install --git https://github.com/a16z/jolt --force --bins jolt
$ jolt new foo
$ cd foo
$ cargo +nightly run --release