rust: workaround --print file-names emitting staticlibs / dylibs.#658
rust: workaround --print file-names emitting staticlibs / dylibs.#658froydnj merged 1 commit intomozilla:masterfrom
Conversation
This fixes cargo check in mozilla-central. The issue is that rustc --print file-names emits a somewhat poor approximation of what's actually going to be emitted. So for a staticlib crate, it will also print the staticlib file, which is not great. See https://bugzilla.mozilla.org/show_bug.cgi?id=1612855#c2 for a more straight-forward explanation of the failure case. Sccache would try to find the library and fail, erroring as a consequence. Pile up on the existing workaround for rmeta files not showing up (rust-lang/rust#54852) by removing files that are not metadata when we only request metadata. rust-lang/rust#68799 contains a rust-side fix that would also fix this.
|
I think we do have Rust version information at some point (maybe propagating it to here is hard), but maybe we should consider making this change conditional on the compiler version so that it's easy to detect regressions in the future? |
This works regardless of the other fix being in rust or not... Not sure what a condition for this workaround would look like. |
I meant that |
|
Ah, that's fair... We'd need to fix rustc first though :P |
This fixes cargo check in mozilla-central. The issue is that rustc --print
file-names emits a somewhat poor approximation of what's actually going to be
emitted.
So for a staticlib crate, it will also print the staticlib file, which is not
great.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1612855#c2 for a more
straight-forward explanation of the failure case.
Sccache would try to find the library and fail, erroring as a consequence.
Pile up on the existing workaround for rmeta files not showing up
(rust-lang/rust#54852) by removing files that are not
metadata when we only request metadata.
rust-lang/rust#68799 contains a rust-side fix that would
also fix this.