rust-lang / rust-lang/rust

`llvm.download-ci-llvm = true` + `assertions = true` with unavailable alt CI LLVM shows no warnings/errors, tries to build LLVM

Open
#160,919 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-bootstrap-ci-llvm C-bug E-needs-design E-needs-investigation T-bootstrap
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Summary

On hosts (e.g. aarch64-apple-darwin) where we don't built "alt CI LLVM" (CI LLVM with assertions enabled), a configuration like

[llvm]
download-ci-llvm = true
assertions = true

will fail to find a CI LLVM from the alternative channel that has "compatible LLVM config" (namely with assertions enabled), yet prints zero warnings/errors, and then tries to checkout llvm submodule and build it locally.

When download-ci-llvm = true, the user intention is to force usage of CI LLVM. We should at least show a warning here, or error, and not silently try to build LLVM.

Command used
./x build library
Expected behaviour

Warning or error for incompatible LLVM config versus available CI LLVM artifacts

Actual behaviour

0 errors 0 warnings

Bootstrap configuration (bootstrap.toml)
[llvm]
download-ci-llvm = true
assertions = true
Operating system

aarch64-apple-darwin host

HEAD

a04c7a037d59b6dedc9f921e84e391f13a257aa4

Additional context

N/A

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with bootstrap.toml's [llvm] settings and run ./x build library using download-ci-llvm = true and assertions = true on the reported host. Trace CI LLVM selection for a compatible artifact, then ensure the unavailable alternative channel produces the requested warning or error instead of silently building LLVM locally.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.