Skip to content
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

switch to kitware's ninja as the default upstream for ninja and configure it to respect jobserver in spack env depfile -o Makefile #44166

Open
1 task done
robertu94 opened this issue May 13, 2024 · 0 comments
Labels

Comments

@robertu94
Copy link
Contributor

Summary

Right now if you use spack env depfile -o Makefile; make -j $(nproc) you get more build threads than $(nproc) because ninja doesn't understand posix jobservers and spawns more threads than it should. The Kitware fork of ninja has the necessary patches to make this work.

Rationale

The Ninja authors are extremely resistant to adding new features, and larger features languish for years without being merged, and kitware in addition to being responsible maintainers of cmake maintains a fork of ninja that is widely adopted by the broader community (it's what you get when you pip install ninja).

Description

The only alternatives are 1) to ignore this and suffer ninja not respecting the jobsever. or 2) maintain the patches ourselves (more work), 3) somehow get the Ninja authors to merge ninja-build/ninja#1139

Additional information

No response

General information

  • I have searched the issues of this repo and believe this is not a duplicate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant