Error when built wheel is for the wrong platform#16074
Conversation
5e38b44 to
2e54e1f
Compare
|
There are no changes in the ecosystem tests, so this is ready to be reviewed and merged. |
2e54e1f to
b089410
Compare
b089410 to
da3d2c9
Compare
da3d2c9 to
c660908
Compare
|
Is it possible that this can cause false positives or regressions? What if we're just building the wheel for a resolve (i.e., |
It's technically possible but for this too happen, we need to have a case where:
Of these, (3) is very unlikely, in my experience build backends only have limited cross-compiling support if any, and I've never seen one that defaults to a different platform than the current one. It would also be strange to me if a build backend wouldn't implement
|
|
I'm wary because I think What do you mean by (3)? Yes I would only expect most build backends to target the current platform and have no conception of cross-builds. Why would "always targets a specific platform" be needed for this to cause a regression? |
This was discovered by #16074 I'm not sure what the exact schema of the cache tag is, but since the project is dead, I don't expect any new non-matching versions to follow.
|
That's a very good point, I added a test specifically for this. The good news is it's already passing as the metadata-only branch in The stronger checks uncovered a bug in how we generate tags for Pyston: #16972. Merging this PR may uncover more such problems on non-PyPI platform that usually don't have built wheels. |
This was discovered by #16074, where the wrong tag now fails the Pyston integration test. I'm not sure what the exact schema of the cache tag is, but since the project is dead, I don't expect any new non-matching versions to follow.
Error when a built wheel is for the wrong platform. This can happen especially when using `--python-platform` or `--python-version` with `uv pip install`. Fixes #16019 Ready for review but I want to make some more testing before merging.
0bb042e to
dfbb3ae
Compare
zanieb
left a comment
There was a problem hiding this comment.
I'd probably consider this an "enhancement" rather than a "bug"
|
guys is there any way to ignore that error? With this upgrade we cannot install |
|
@mjamroz Can you please file a new issue with a reproduction? |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.9.13` -> `0.9.17` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>astral-sh/uv (astral-sh/uv)</summary> ### [`v0.9.17`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0917) [Compare Source](astral-sh/uv@0.9.16...0.9.17) Released on 2025-12-09. ##### Enhancements - Add `torch-tensorrt` and `torchao` to the PyTorch list ([#​17053](astral-sh/uv#17053)) - Add hint for misplaced `--verbose` in `uv tool run` ([#​17020](astral-sh/uv#17020)) - Add support for relative durations in `exclude-newer` (a.k.a., dependency cooldowns) ([#​16814](astral-sh/uv#16814)) - Add support for relocatable nushell activation script ([#​17036](astral-sh/uv#17036)) ##### Bug fixes - Respect dropped (but explicit) indexes in dependency groups ([#​17012](astral-sh/uv#17012)) ##### Documentation - Improve `source-exclude` reference docs ([#​16832](astral-sh/uv#16832)) - Recommend `UV_NO_DEV` in Docker installs ([#​17030](astral-sh/uv#17030)) - Update `UV_VERSION` in docs for GitLab CI/CD ([#​17040](astral-sh/uv#17040)) ### [`v0.9.16`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0916) [Compare Source](astral-sh/uv@0.9.15...0.9.16) Released on 2025-12-06. ##### Python - Add CPython 3.14.2 - Add CPython 3.13.11 ##### Enhancements - Add a 5m default timeout to acquiring file locks to fail faster on deadlock ([#​16342](astral-sh/uv#16342)) - Add a stub `debug` subcommand to `uv pip` announcing its intentional absence ([#​16966](astral-sh/uv#16966)) - Add bounds in `uv add --script` ([#​16954](astral-sh/uv#16954)) - Add brew specific message for `uv self update` ([#​16838](astral-sh/uv#16838)) - Error when built wheel is for the wrong platform ([#​16074](astral-sh/uv#16074)) - Filter wheels from PEP 751 files based on `--no-binary` et al in `uv pip compile` ([#​16956](astral-sh/uv#16956)) - Support `--target` and `--prefix` in `uv pip list`, `uv pip freeze`, and `uv pip show` ([#​16955](astral-sh/uv#16955)) - Tweak language for build backend validation errors ([#​16720](astral-sh/uv#16720)) - Use explicit credentials cache instead of global static ([#​16768](astral-sh/uv#16768)) - Enable SIMD in HTML parsing ([#​17010](astral-sh/uv#17010)) ##### Preview features - Fix missing preview warning in `uv workspace metadata` ([#​16988](astral-sh/uv#16988)) - Add a `uv auth helper --protocol bazel` command ([#​16886](astral-sh/uv#16886)) ##### Bug fixes - Fix Pyston wheel compatibility tags ([#​16972](astral-sh/uv#16972)) - Allow redundant entries in `tool.uv.build-backend.module-name` but emit warnings ([#​16928](astral-sh/uv#16928)) - Fix infinite loop in non-attribute re-treats during HTML parsing ([#​17010](astral-sh/uv#17010)) ##### Documentation - Clarify `--project` flag help text to indicate project discovery ([#​16965](astral-sh/uv#16965)) - Regenerate the crates.io READMEs on release ([#​16992](astral-sh/uv#16992)) - Update Docker integration guide to prefer `COPY` over `ADD` for simple cases ([#​16883](astral-sh/uv#16883)) - Update PyTorch documentation to include information about supporting CUDA 13.0.x ([#​16957](astral-sh/uv#16957)) - Update the versioning policy ([#​16710](astral-sh/uv#16710)) - Upgrade PyTorch documentation to latest versions ([#​16970](astral-sh/uv#16970)) ### [`v0.9.15`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0915) [Compare Source](astral-sh/uv@0.9.14...0.9.15) Released on 2025-12-02. ##### Python - Add CPython 3.14.1 - Add CPython 3.13.10 ##### Enhancements - Add ROCm 6.4 to `--torch-backend=auto` ([#​16919](astral-sh/uv#16919)) - Add a Windows manifest to uv binaries ([#​16894](astral-sh/uv#16894)) - Add LFS toggle to Git sources ([#​16143](astral-sh/uv#16143)) - Cache source reads during resolution ([#​16888](astral-sh/uv#16888)) - Allow reading requirements from scripts without an extension ([#​16923](astral-sh/uv#16923)) - Allow reading requirements from scripts with HTTP(S) paths ([#​16891](astral-sh/uv#16891)) ##### Configuration - Add `UV_HIDE_BUILD_OUTPUT` to omit build logs ([#​16885](astral-sh/uv#16885)) ##### Bug fixes - Fix `uv-trampoline-builder` builds from crates.io by moving bundled executables ([#​16922](astral-sh/uv#16922)) - Respect `NO_COLOR` and always show the command as a header when paging `uv help` output ([#​16908](astral-sh/uv#16908)) - Use `0o666` permissions for flock files instead of `0o777` ([#​16845](astral-sh/uv#16845)) - Revert "Bump `astral-tl` to v0.7.10 ([#​16887](astral-sh/uv#16887))" to narrow down a regression causing hangs in metadata retrieval ([#​16938](astral-sh/uv#16938)) ##### Documentation - Link to the uv version in crates.io member READMEs ([#​16939](astral-sh/uv#16939)) ### [`v0.9.14`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0914) [Compare Source](astral-sh/uv@0.9.13...0.9.14) Released on 2025-12-01. ##### Performance - Bump `astral-tl` to v0.7.10 to enable SIMD for HTML parsing ([#​16887](astral-sh/uv#16887)) ##### Bug fixes - Allow earlier post releases with exclusive ordering ([#​16881](astral-sh/uv#16881)) - Prefer updating existing `.zshenv` over creating a new one in `tool update-shell` ([#​16866](astral-sh/uv#16866)) - Respect `-e` flags in `uv add` ([#​16882](astral-sh/uv#16882)) ##### Enhancements - Attach subcommand to User-Agent string ([#​16837](astral-sh/uv#16837)) - Prefer `UV_WORKING_DIR` over `UV_WORKING_DIRECTORY` for consistency ([#​16884](astral-sh/uv#16884)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yNy4xIiwidXBkYXRlZEluVmVyIjoiNDIuNDAuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Closes #17375 It looks like this was missed in #8881 and now that we fail if wheel tags do not match the target environment (see #16074), we do not allow armv8l wheels to installed in environments where the interpreter reports armv7l. Co-authored-by: Claude <[email protected]>
Error when a built wheel is for the wrong platform. This can happen especially when using
--python-platformor--python-versionwithuv pip install.Fixes #16019