Skip to content

unset RUSTC_WRAPPER for xargo invocation #1426

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 24, 2020
Merged

Conversation

RalfJung
Copy link
Member

Fixes #1421

@bjorn3 @oli-obk do you think that is a reasonable way to solve this issue?

// Make sure there are no other wrappers or flags getting in our way
// (Cc https://github.com/rust-lang/miri/issues/1421).
command.env_remove("RUSTC_WRAPPER");
command.env_remove("RUSTFLAGS");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it too invasive? Many flags wouldn't interfere with miri and could be required in certain circumstances.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is preexisting. Also note that this just affects the libstd build, not the build of the local crate. When you do RUSTFLAGS=foo cargo build, your libstd also is not affected by the flags you set. So I would say this is consistent with non-Miri operation.

@@ -347,6 +346,10 @@ path = "lib.rs"
command.env("RUSTC", find_miri());
}
command.env("MIRI_BE_RUSTC", "1");
// Make sure there are no other wrappers or flags getting in our way
// (Cc https://github.com/rust-lang/miri/issues/1421).
command.env_remove("RUSTC_WRAPPER");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it shouldn't be done in invisible to a user, manner? I.e. throw an error if there are certain variables that conflict with miri?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, good point. Throwing an error might be too extreme though. What about printing a warning, similar to what we do on MIRI_SYSROOT=something cargo miri setup?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well, before I faced some errors in miri setup with the caching I didn't even know it removes certain variables. It would be at least nice to add the warnings that "x and y are being overriden".

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes we have such a warning for RUSTC_WRAPPER now.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I've noticed it right after this comment. Thanks a bunch for this!

@bjorn3
Copy link
Member

bjorn3 commented May 24, 2020

do you think that is a reasonable way to solve this issue?

Yes, in case of rustc both RUSTC_WRAPPER and RUSTFLAGS are ignored for the sysroot too, because you use a pre-compiled version. Also there isn't much benefit from using sccache for the sysroot, as it is cached across multiple projects anyway.

@RalfJung
Copy link
Member Author

All right, I added a warning for when RUSTC_WRAPPER is set so people get some indication that their env var is being ignored. Thanks for the feedback everyone!

@bors r+

@bors
Copy link
Contributor

bors commented May 24, 2020

📌 Commit cf7d88f has been approved by RalfJung

@bors
Copy link
Contributor

bors commented May 24, 2020

⌛ Testing commit cf7d88f with merge a6c28f0...

@bors
Copy link
Contributor

bors commented May 24, 2020

☀️ Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing a6c28f0 to master...

@bors bors merged commit a6c28f0 into rust-lang:master May 24, 2020
@RalfJung RalfJung deleted the no-wrapper branch May 24, 2020 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cargo-miri does not work with sccache
4 participants