Repository navigation
Cap pixi-build-cmake at 0.3.11 and pixi below 0.71 (restores CPU-only builds) - #105
Merged
Merged
Conversation
pixi-build-cmake stopped forwarding the ambient build environment in
0.3.12; 0.3.11 is the last version that still does. USE_ACC=OFF is read
via $ENV{USE_ACC} in CMakeLists.txt, so on 0.3.12+ the variable is
silently ignored and a CPU-only build produces GPU code instead.
Also cap requires-pixi below 0.71, which is the first pixi that drops
build-API v4. Without it, a newer pixi fails deep in the solver with
"could not initialize the build-backend ... no candidates were found"
rather than naming pixi as the problem.
Both caps are temporary, pending upstream fixes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
CPU-only builds are currently broken, silently.
pixi-build-cmakestopped forwarding the ambient build environment in 0.3.12 — 0.3.11 is the last version that still does. Verified across every version in between:MYFLAG=OFFvisible to CMake?CMakeLists.txtreads the toggle via$ENV{USE_ACC}and defaults toON, so on 0.3.12+USE_ACC=OFFis ignored and a CPU-only request produces a GPU build that exits 0 with no warning.Because
pixi.lockdoes not record backend versions, which backend you get depends on when your machine last solved — so this reproduces for some people and not others on the identical commit.What
>=0.3.6,<=0.4.5→>=0.3.6,<=0.3.11requires-pixi>=0.60.0→>=0.60.0,<0.71The pixi cap matters for the error message. pixi 0.71 is the first release to drop build-API v4, and without the cap you get a failure deep in the solver that never mentions pixi:
With it, pixi refuses before resolving and names the fix:
Verification
Full clean CPU build of the ZEST + SlaterGPU stack against this branch, on Perlmutter:
Temporary
Both caps are stopgaps. They pin the lab off pixi 0.71+ deliberately, and should be lifted once the upstream issues are resolved — the ambient environment is not a supported configuration channel any more, so the real fix is a supported mechanism that can reach a source dependency. Upstream reports to follow; ZEST needs the matching cap (each package resolves its backend independently, so capping one layer alone leaves the other silently GPU).
🤖 Generated with Claude Code