Skip to content

Error message for cmake could meet bar set by that for ninja #90679

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

Closed
pnkfelix opened this issue Nov 8, 2021 · 6 comments · Fixed by #96659
Closed

Error message for cmake could meet bar set by that for ninja #90679

pnkfelix opened this issue Nov 8, 2021 · 6 comments · Fixed by #96659
Assignees
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-enhancement Category: An issue proposing an enhancement or a PR with one. E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@pnkfelix
Copy link
Member

pnkfelix commented Nov 8, 2021

I tried to build on a new machine. Got this message:

thread 'main' panicked at '

couldn't find required command: "cmake"

'

Which I'm used to.

I googled a bit, installed cmake, figured out how to get PATH set up, et cetera.

Then I built again. And got this:

Couldn't find required command: ninja (or ninja-build)

You should install ninja as described at
<https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages>,
or set `ninja = false` in the `[llvm]` section of `config.toml`.
Alternatively, set `download-ci-llvm = true` in that `[llvm]` section
to download LLVM rather than building it.

I'm not sure, but: Isn't cmake solely necessary in our build for building LLVM? if that's the case, then shouldn't both the cmake failure and the ninja failure be providing the same level of feedback (namely, suggesting that one side-step building LLVM altogether as an alternative option to downloading and installing cmake)?

(Or is the assumption here that cmake will be used by so many crates, people should just bite bullet and install it? Even so, we could give better guidance up front about where to look for it.)

@pnkfelix pnkfelix added the T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) label Nov 8, 2021
@jyn514
Copy link
Member

jyn514 commented Nov 8, 2021

@pnkfelix I don't think cmake intentionally has a worse error, it's just that a bunch of people building from source for the first time have been confused what ninja is and where to get it. If you made a PR improving the error for cmake I'd approve it :)

@jyn514 jyn514 added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-enhancement Category: An issue proposing an enhancement or a PR with one. labels Nov 8, 2021
@jyn514
Copy link
Member

jyn514 commented Mar 29, 2022

@rustbot label: +E-easy

@rustbot rustbot added the E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. label Mar 29, 2022
@b-NC
Copy link
Contributor

b-NC commented Mar 30, 2022

@rustbot claim

@thatzopoulos
Copy link
Contributor

Hello @InfRandomness, I'd like to claim this issue if you're interested in releasing it.

@b-NC b-NC removed their assignment May 1, 2022
@b-NC
Copy link
Contributor

b-NC commented May 1, 2022

Sorry about that 😀
Gave it a try but got sidetracked and wasn't really interested in doing it anymore

@thatzopoulos
Copy link
Contributor

@rustbot claim

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-enhancement Category: An issue proposing an enhancement or a PR with one. E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants