-
Notifications
You must be signed in to change notification settings - Fork 567
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
[dist] failure when build.rs or procmacro depend on externalities #676
Comments
Again , compiling https://github.com/paritytech/substrate with
there is a mix of stable native/host rust with nightly wasm . @luser I could not find where the tree deps are included (are they) so I can iron this hopefully last pitfall out which I step into my daily usage :) |
Output of
|
What does that Lines 1493 to 1683 in 41a584c
|
I think the root cause here is different. A Hence IIUC the easiest way would be to be able to prevent I would very happily implement that if that would be a desired change :) |
Possibly related to #675 |
Oh, that's exciting. I would think that most |
I have yet to debug through this, the assumption currently is as you say: the |
OK, I looked into this a little more. The codec derive is using this That crate does in fact attempt to read Since sccache does not send |
So the issue that causes the failure is a different than the one I spotted: |
Solves a corner case when a procmacro relies upon Cargo.toml availability to retrieve crate aliases from Cargo.toml. Issue: mozilla#676 Side effects: Cache invalidation on Cargo.toml comment changes, the hash changes and as such the cache breaks.
Solves a corner case when a procmacro relies upon Cargo.toml availability to retrieve crate aliases from Cargo.toml. Issue: mozilla#676 Side effects: Cache invalidation on Cargo.toml comment changes, the hash changes and as such the cache breaks.
Solves a corner case when a procmacro relies upon Cargo.toml availability to retrieve crate aliases from Cargo.toml. Issue: mozilla#676 Side effects: Cache invalidation on Cargo.toml comment changes, the hash changes and as such the cache breaks.
Solves a corner case when a procmacro relies upon Cargo.toml availability to retrieve crate aliases from Cargo.toml. Issue: mozilla#676 Side effects: Cache invalidation on Cargo.toml comment changes, the hash changes and as such the cache breaks.
Solves a corner case when a procmacro relies upon Cargo.toml availability to retrieve crate aliases from Cargo.toml. Issue: mozilla#676 Side effects: Cache invalidation on Cargo.toml comment changes, the hash changes and as such the cache breaks.
Solves a corner case when a procmacro relies upon Cargo.toml availability to retrieve crate aliases from Cargo.toml. Issue: mozilla#676 Side effects: Cache invalidation on Cargo.toml comment changes, the hash changes and as such the cache breaks.
I would prefer extra build requirements to be explicitly added. |
This likely needs upstream rustc changes to make it possible for sccache to know what's happening. There's rust-lang/rust#73921, which proposes adding an API that proc macros could use to indicate that they use external files. If that was added and proc macros like the one mentioned here used it then rustc could list these files in Side note: this made me realize that this is also currently a caching hazard in that sccache doesn't know to include files like this in the hash, so it could produce incorrect results from the cache. |
Having a workspace tree:
causes build failures where the
Cargo.toml
insub0
can not be foundthis assumes #666 is already applied / #87 is resolved to resolve to correct
rustc
versions, but is also present in latest master with a simpler setup.The text was updated successfully, but these errors were encountered: