Revert "Build PyTorch wheel via PEP 517 instead of setup.py" (#21562) - #21684
Open
shoumikhin wants to merge 1 commit into
Open
Revert "Build PyTorch wheel via PEP 517 instead of setup.py" (#21562)#21684shoumikhin wants to merge 1 commit into
shoumikhin wants to merge 1 commit into
Conversation
This reverts the install_pytorch.sh change from #21562. It broke test-riscv on main, 17 of 17 jobs, on every commit since it landed. The PEP 517 change itself is correct. The problem is that the PR installs the PEP 517 build requirements permanently into the image conda environment. scikit-build-core registers a setuptools build_ext plugin, so every later "pip install --no-build-isolation" in that image runs its cmake configure instead of the plain setuptools one. That turns on C++20 module dependency scanning, which the image GCC 14.2.0 cannot satisfy, and the tokenizers build fails with "cc1plus: error: to generate dependencies you must specify either -M or -MM". Reverting to unblock main. Re-landing separately with the build requirements confined to a throwaway virtualenv.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21684
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New FailureAs of commit a02e38d with merge base a439afd ( NEW FAILURE - The following job has failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This was referenced Aug 8, 2026
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.
Reverts the
install_pytorch.shchange from #21562.Why
#21562 broke
test-riscvon main. 17 of 17 jobs, on every commit that has landed since it went in. Failing step ispip install --no-build-isolation extension/llm/tokenizers:Cause
The PEP 517 change itself is correct and should come back. The problem is how the build requirements are installed.
To run
python -m build --wheel --no-isolation, #21562 installsbuild,scikit-build-core,setuptools,cmakeandninjapermanently into the image's conda environment.scikit-build-coreships a setuptools plugin that registers itself as thebuild_extcommand class. Every laterpip install --no-build-isolationin that image then runs its CMake configure instead of the plain setuptools one, which switches on C++20 module dependency scanning. The image's GCC 14.2.0 cannot produce the scan output CMake asks for, so the tokenizers build dies.Two greps confirm it.
dyndephas zero hits in the last green job log and one in the red one.scikit_build_coreis absent from the green log and present in the red traceback.Why CI did not catch it
test-riscvlives in its own workflow,Test RISC-V Backend. It does not run on pull requests unless the change touches specific RISC-V paths, it is not a required merge context, and it does not gate viable/strict. So nothing in the pre-merge gate could have seen this.Next
Re-landing separately with the build requirements confined to a throwaway virtualenv, so they stop leaking into every later build in the image. That PR will carry a
ciflow/trunktag sotest-riscvactually runs on it before it merges.