sslab-gatech/Rudra

Update to newer rust version?

Luro02 opened this issue · 2 comments

The rust version in the Dockerfile is from about one year ago, and a lot of new features have been implemented since then.

RUST_VERSION=nightly-2020-08-26 \

I tried to change the rust version in the Dockerfile to the latest nightly:

-     RUST_VERSION=nightly-2020-08-26 \
+     RUST_VERSION=nightly-2021-08-20 \

which resulted in a compilation failure:

   Compiling rudra v0.1.0 (/tmp/rudra)
error[E0463]: can't find crate for `rustc_data_structures`
 --> src/lib.rs:7:1
  |
7 | extern crate rustc_data_structures;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: could not compile `rudra`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `rudra v0.1.0 (/tmp/rudra)`, intermediate artifacts can be found at `/tmp/rudra/target`

Caused by:
  build failed

The rustc-dev and llvm-tools-preview rustup components need to be installed. I just suggested #9 to let rustup install them automatically.

When you change the rust version I think what happens is that the dockerfile installs these components for the new toolchain version, but then when it changes to the source directory rust-toolchain overrides the toolchain version to the older one for which the dockerfile doesn't install the necessary components.

Qwaz commented

We plan to update the supported compiler version when all the evaluation for our paper is done. Meanwhile, you can use bjorn3's forked branch.