Skip to content

[FIXME] Exclude incompatible shared libs from platform wheels #1583

@webknjaz

Description

@webknjaz

Please confirm the following

  • I understand this is open source software provided for free and that I might not receive a timely response.
  • I am positive I am NOT reporting a (potential) security
    vulnerability, to the best of my knowledge. (These must be shared by
    submitting this report form instead, if
    any hesitation exists.)
  • I am willing to submit a pull request with reporoducers as xfailing test cases or even entire fix. (Assign this issue to me.)

Describe the bug

Because cibuildwheel does not clear out the built extensions from other Python versions, the following builds pick up the previously built ones from disk and include them into wheels.

To Reproduce

  1. Run python -Im build --wheel under two different Python versions (like 3.11 and 3.12), one after the other
  2. wheel unpack the last artifact
  3. See *.so files for both 3.11 and 3.12 in there

Expected behavior

Only shared objects compatible with the current runtime should be a part of each wheel.

Logs/tracebacks

$ ls dist/yarl-*/yarl/*.so
dist/yarl-1.22.1.dev0/yarl/_quoting_c.cpython-312-x86_64-linux-gnu.so  dist/yarl-1.22.1.dev0/yarl/_quoting_c.cpython-313-x86_64-linux-gnu.so

Python Version

N/A

multidict Version

N/A

propcache Version

N/A

yarl Version

`master`

OS

N/A

Additional context

This is basically the same as ansible/pylibssh#686 since it is the build backend upstream.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions