diff --git a/.appveyor.yml b/.appveyor.yml index 2ba95c228baf..c8ee04275c83 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -31,8 +31,10 @@ install: - rustup component remove rust-docs & exit 0 - rustup update # Install "master" toolchain - - cargo install rustup-toolchain-install-master & exit 0 - - rustup-toolchain-install-master -f -n master %RUSTC_HASH% -c cargo -c rust-src + - cargo install rustup-toolchain-install-master -f + # We need to install cargo here as well or else the DLL search path inside `cargo run` + # will be for the wrong toolchain. (On Unix, `./miri` takes care of this, but not here.) + - rustup-toolchain-install-master -f -n master %RUSTC_HASH% -c rust-src -c rustc-dev -c cargo - rustup default master - rustc --version - cargo --version diff --git a/.travis.yml b/.travis.yml index 51f02e76824b..e9df794b5940 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,8 +38,8 @@ before_script: - rustup component remove rust-docs || echo "rust-docs already gone" - rustup update # Install "master" toolchain -- cargo install rustup-toolchain-install-master || echo "rustup-toolchain-install-master already installed" -- travis_retry rustup-toolchain-install-master -f -n master $RUSTC_HASH -c rust-src +- cargo install rustup-toolchain-install-master -f +- travis_retry rustup-toolchain-install-master -f -n master $RUSTC_HASH -c rust-src -c rustc-dev - rustup default master - rustc --version - cargo --version diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 83e2338552e9..d6436873938e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,8 +31,10 @@ Miri heavily relies on internal rustc interfaces to execute MIR. Still, some things (like adding support for a new intrinsic or a shim for an external function being called) can be done by working just on the Miri side. -To prepare, make sure you are using a nightly Rust compiler. Then you should be -able to just `cargo build` Miri. +To prepare, make sure you are using a nightly Rust compiler. You also need to +have the `rust-src` and `rustc-dev` components installed, which you can add via +`rustup component add rust-src rustc-dev`. Then you should be able to just +`cargo build` Miri. In case this fails, your nightly might be incompatible with Miri master. The `rust-version` file contains the commit hash of rustc that Miri is currently @@ -41,7 +43,7 @@ to wait for the next nightly to get released. You can also use [`rustup-toolchain-install-master`](https://github.com/kennytm/rustup-toolchain-install-master) to install that exact version of rustc as a toolchain: ``` -rustup-toolchain-install-master $(cat rust-version) -c rust-src +rustup-toolchain-install-master $(cat rust-version) -c rust-src -c rustc-dev ``` Another common problem is outdated dependencies: Miri does not come with a diff --git a/rust-version b/rust-version index 543d4e269d41..61a6353bb4d9 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -55e00631e5bc5b16d40232914e57deeea197a8e4 +8e0007f829661e57d008d2e908c95f6e84b04b25