Comments (7)
#126479 posted instead to disable this flag by default, I don't think it should be enabled for most contributors.
from rust.
Sounds suspiciously similar to #122491.
from rust.
Yeah this is again caused by llvm-bitcode-linker
being enabled π @kjetilkjeka Do you think that there's some more general solution to the rebuild problem?
from rust.
Thanks for notifying me about this. I am travelling this weekend, meaning i might not have a chance to thoroughly investigate before Monday. (But I will at the latest be able to look on Monday).
The last time it was due to dependency on the same crates with different rustflags. One from llbc-linker and one from some other tool (rustdoc?). The two different invocations maps to the same cache entry but is invalid between each other and thus triggers a rebuild.
The solution last time was to mimic the rustflags being used other places in llbc-linker. That might be a good short term solution now as well.
I don't know about the long term solution but it seems like either caching multiple versions of a crate or unifying the rustflag somewhere might be alternatives?
from rust.
Thanks for notifying me about this. I am travelling this weekend, meaning i might not have a chance to thoroughly investigate before Monday.
Of course, there's no rush, I just wanted to let you know, given that you already have some experience in debugging this π
This seems rather brittle though, as you mention. I wonder what's so unique about this tool that it causes these rebuilds so often.
@onur-ozkan You mentioned here that we cannot share flags between all Step invocations. But maybe it would make sense to better share flags between at least this tool and other steps, rather than hardcoding selected flags? (as was done last time with the parallel compiler).
from rust.
Actually, I wonder if we really need to enable this linker by default in all four bootstrap profiles.
from rust.
@onur-ozkan You mentioned #122491 (comment) that we cannot share flags between all Step invocations. But maybe it would make sense to better share flags between at least this tool and other steps, rather than hardcoding selected flags? (as was done last time with the parallel compiler).
Sure, seems fine to me. I didn't expect it to be a problem this frequently.
from rust.
Related Issues (20)
- ICE compiling internal project
- Weird AVX 512 code generated with std::simd when using -Zbuild-std HOT 1
- Long ty names written to disk can leak username info in paths
- Unify/streamline long type name written to disk mechanism
- Build to AArch64 errors with "error: fixup value out of range"
- Incorrect relative jump (rjmp) code generation in latest nightly release for AVR toolchain HOT 1
- `unused_qualification` breaks code for older rust versions HOT 1
- We should document the exact minimum versions of build tools required to build a given Rust toolchain HOT 1
- Rust debugger crashes with error "Library not loaded: @rpath/libunwind.1.dylib" on m1 mac HOT 2
- `--emit metadata` produces less error messages with some targets
- Tracking Issue for `ptr::fn_addr_eq`
- Overly conservative async capture analysis when values are borrowed HOT 4
- Option::get_or_insert(_with) incorrectly documented as experimental HOT 2
- ICE: transmute: called `Result::unwrap()` on an `Err` value: ReferencesError(ErrorGuaranteed(())) HOT 11
- Outdated `static.rust-lang.org` documentation from 2014 HOT 2
- Π‘ompiler can't remove panic locations if they are not used in panic handler HOT 12
- Tracking Issue for `lazy_get`
- [ICE] adding a def'n for node-id NodeId(130468) and def kind AnonConst but a previous def'n exists HOT 3
- #[inline(never)] does not work for async functions HOT 3
- `unreachable_patterns` fires on match arm that can't be removed. HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.