Skip to content

Error running instructions in Quickstart #618

@protoben

Description

@protoben

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

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