Skip to content

Commit a0f4576

Browse files
authored
doc: add a warning about x86-64-v2 for manylinux_2_34 (#2270)
1 parent a787e5d commit a0f4576

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

Diff for: docs/options.md

+15
Original file line numberDiff line numberDiff line change
@@ -1220,6 +1220,21 @@ If setting a custom image, you'll need to make sure it can be used in the same w
12201220

12211221
Auditwheel detects the version of the manylinux / musllinux standard in the image through the `AUDITWHEEL_PLAT` environment variable, as cibuildwheel has no way of detecting the correct `--plat` command line argument to pass to auditwheel for a custom image. If a custom image does not correctly set this `AUDITWHEEL_PLAT` environment variable, the `CIBW_ENVIRONMENT` option can be used to do so (e.g., `CIBW_ENVIRONMENT='AUDITWHEEL_PLAT="manylinux2010_$(uname -m)"'`).
12221222

1223+
!!! warning
1224+
On x86_64, `manylinux_2_34` is using [x86-64-v2](https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels) target architecture.
1225+
1226+
While manylinux worked around that when building extensions from sources by intercepting compiler calls
1227+
to target x86_64 instead, every library installed with dnf will most likely target the more
1228+
recent x86-64-v2 which, if grafted into a wheel, will fail to run on older hardware.
1229+
1230+
The workaround does not work for executables as they are always being linked with x86-64-v2 object files.
1231+
1232+
There's no PEP to handle micro-architecture variants yet when it comes to packaging or
1233+
installing wheels. Auditwheel doesn't detect this either.
1234+
1235+
Please check the tracking issue in [pypa/manylinux](https://github.com/pypa/manylinux/issues/1725)
1236+
1237+
12231238
#### Examples
12241239

12251240

0 commit comments

Comments
 (0)