Tracking Issue for Reproducible Build bugs and challenges
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
This is a tracking issue for collecting and triaging bugs and challenges that hinder our ability to produce reproducible and deterministic builds.
This tracking issue is used as a hub for connecting to other relevant issues, e.g., bugs or open design questions. This tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature. Instead, open a dedicated issue for the specific matter and add the https://github.com/rust-lang/rust/labels/A-reproducibility label, and tag with OS/architecture/target labels as suitable.
[!WARNING]
This tracking issue is non-exhaustive. Please add suitable entries and edit as new issues and PRs pop up or if old issues and PRs are rediscovered.
Bugs and issues
-
tests/run-make/reproducible-builds- Several skipped combinations due to unreproducibility
- https://github.com/rust-lang/rust/issues/82188
- Needs further investigation
- https://github.com/rust-lang/rust/issues/18370
- Status unclear
- https://github.com/rust-lang/rust/issues/38550
- Related to
-Z randomize-layout, status unclear
- Related to
- https://github.com/rust-lang/rust/issues/69060
- Perf; unclear what's to do here
- https://github.com/rust-lang/rust/issues/69352
- Possible non-determinism in LLVM
- https://github.com/rust-lang/rust/issues/73501
- Unsure how to repro/debug
- https://github.com/rust-lang/rust/issues/73932
- Stable Version Hashes
- https://github.com/rust-lang/rust/issues/74786
--remap-path-prefixrelated
- https://github.com/rust-lang/rust/issues/75887
- Macro expansions with deps on external files
- https://github.com/rust-lang/rust/issues/89911
-Cdebuginfo=2
- https://github.com/rust-lang/rust/issues/88982
- Affects
tests/run-make/reproducible-builds, bin,--remap-path-prefix,-Z remap-cwd-prefix
- Affects
- https://github.com/rust-lang/rust/issues/129117
-Cdebuginfo=2,-Z remap-cwd-prefix=., rlib
Tracking/meta issues:
- https://github.com/rust-lang/rust/issues/75362
- https://github.com/rust-lang/rust/issues/65042
- https://github.com/rust-lang/rust/issues/84232
- https://github.com/rust-lang/rust/issues/111540
- https://github.com/rust-lang/rust/issues/89434
Resolved:
- https://github.com/rust-lang/rust/issues/6656
-Cdebuginfo=2
- https://github.com/rust-lang/rust/issues/47086
-Cdebuginfo=2
- https://github.com/rust-lang/rust/issues/24473
- https://github.com/rust-lang/rust/issues/34902
- Current status unclear
- https://github.com/rust-lang/rust/issues/44074
- Env var info
- https://github.com/rust-lang/rust/issues/45397
- Looks LLVM related, seems to have resolved
- https://github.com/rust-lang/rust/issues/90301
- Upstream fix: https://reviews.llvm.org/D113468
- https://github.com/rust-lang/rust/issues/90357
- https://github.com/rust-lang/rust/issues/47086
- https://github.com/rust-lang/rust/issues/57041
- Insufficiently specific
- https://github.com/rust-lang/cargo/issues/6914
- Resolved separately
- https://github.com/rust-lang/rust/issues/61216
- Resolved in a separate improvement PR but can't find which
- https://github.com/rust-lang/rust/issues/63713
- Related: #65036
- https://github.com/rust-lang/rust/issues/65036
- https://github.com/rust-lang/rust/issues/81296
- https://github.com/rust-lang/rust/issues/66568
- https://github.com/rust-lang/rust/issues/66955
--remap-path-prefix
- https://github.com/rust-lang/rust/issues/75263
--remap-path-prefixinvolved
- https://github.com/rust-lang/rust/issues/73167
--remap-path-prefixinvolved
- https://github.com/rust-lang/rust/issues/40552
- Closed in favor of more specific issues and RFC-based approaches
- https://github.com/rust-lang/rust/issues/84125
--remap-path-prefixinvolved
- https://github.com/rust-lang/cargo/issues/9311
- https://github.com/rust-lang/rust/issues/71222
- https://github.com/rust-lang/rust/issues/72913
- https://github.com/rust-lang/rust/issues/76496
- https://github.com/rust-lang/rust/issues/80776
- https://github.com/rust-lang/rust/issues/82074
--remap-path-prefix
- https://github.com/rust-lang/rust/issues/82108
--remap-path-prefix; paths reverse order from clang/gcc but was intentional
- https://github.com/rust-lang/rust/issues/82392
-Crpath
- https://github.com/rust-lang/rust/issues/87325
-Z remap-cwd-prefix; closed in favor of tracking issue #89434 for-Z remap-cwd-prefix
- https://github.com/rust-lang/rust/issues/87825
--remap-path-prefix
- https://github.com/rust-lang/rust/issues/90357
- https://github.com/rust-lang/rust/issues/113584
- Issue disappeared after stable version update but unclear what fixed it
- https://github.com/rust-lang/rust/issues/119372
compiler_builtins
- https://github.com/rust-lang/rust/issues/124357
- Fuchsia build system specific, unclear
- https://github.com/rust-lang/rust/issues/73740
--remap-path-prefix
- https://github.com/rust-lang/rust/issues/88754
- https://github.com/rust-lang/rust/issues/66251
--remap-path-prefix; sysroot handling in diagnostics
Related issues, RFCs, MCPs and discussions
- https://github.com/rust-lang/rust/pull/108312 (https://github.com/rust-lang/rust/labels/T-compiler)
- https://github.com/rust-lang/rfcs/pull/3127 (https://github.com/rust-lang/rust/labels/F-trim-paths)
- https://github.com/rust-lang/compiler-team/issues/450
Related PRs
- https://github.com/rust-lang/rust/pull/71858
- https://github.com/rust-lang/rust/pull/89041
- https://github.com/rust-lang/rust/pull/71931
- https://github.com/rust-lang/rust/pull/64131
- https://github.com/rust-lang/rust/pull/65043
- https://github.com/rust-lang/rust/pull/81393
- https://github.com/rust-lang/rust/pull/88771
- https://github.com/rust-lang/rust/pull/106977
- https://github.com/rust-lang/rust/pull/84233
- https://github.com/rust-lang/rust/pull/115214
- https://github.com/rust-lang/rust/pull/122450
- https://github.com/rust-lang/cargo/pull/12625
- https://github.com/rust-lang/rust/pull/128736
- https://github.com/rust-lang/cargo/pull/6966
- https://github.com/rust-lang/rust/pull/71310
- https://github.com/rust-lang/rust/pull/72982
- https://github.com/rust-lang/rust/pull/76515
- https://github.com/rust-lang/rust/pull/82102
- https://github.com/rust-lang/rust/pull/91566
- https://github.com/rust-lang/rust/pull/86025
- https://github.com/rust-lang/rust/pull/87320
- https://github.com/rust-lang/rust/pull/121297
- https://github.com/rust-lang/rust/pull/95685
- https://github.com/rust-lang/compiler-builtins/pull/549
- https://github.com/rust-lang/rust/pull/107099
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with tests/run-make/reproducible-builds and review the linked open issues, especially those marked as needing investigation or having unclear status. This tracking issue is a hub rather than a self-contained task; completion depends on selecting a specific reproducibility bug, defining its scope, and updating or resolving the corresponding entry.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100