|
| 1 | +--- |
| 2 | +title: Manylinux_2_35 and Manylinux_2_39 |
| 3 | +layout: default |
| 4 | +nav_order: 4 |
| 5 | +--- |
| 6 | + |
| 7 | +# Manylinux_2_35 and Manylinux_2_39 |
| 8 | + |
| 9 | +The packages distributed in this registry are a mix of manylinux_2_35 and |
| 10 | +manylinux_2_39 wheels. Support for manylinux wheels for riscv64 was added to |
| 11 | +pip in version 24.1 so you must have pip 24.1 or greater installed locally in |
| 12 | +order to install the packages. This is why we recommend upgrading pip above |
| 13 | +before installing anything. Prior to the release of pip 24.1, some wheels with |
| 14 | +the linux tag were created for a select set of packages and uploaded to this |
| 15 | +package registry. If your version of pip is older than 24.1 pip will install |
| 16 | +these older wheels instead of the manylinux wheels, if they are available. |
| 17 | +This is probably not what you want so do upgrade pip. |
| 18 | + |
| 19 | +These older packages in this registry with the 'linux' platform tag, e.g., |
| 20 | +`numpy-1.26.4-cp39-cp39-linux_riscv64.whl`, actually behave like manylinux_2_35 |
| 21 | +wheels. These wheels were generated because we didn't want to wait for the |
| 22 | +release of pip 24.1 to begin distributing riscv64 wheels, so while we were |
| 23 | +waiting, we used a modified auditwheel that generates wheels with the linux |
| 24 | +platform tag that mostly behave like manylinux_2_35 wheels. This means that |
| 25 | +the wheels will work on any Linux distribution with glibc 2.35 or greater. The |
| 26 | +wheels also vendor all of their dependencies that are not on the |
| 27 | +manylinux_2_35 whitelist, e.g., OpenBLAS and libgfortran. One downside of |
| 28 | +misusing the platform tag in this way is that pip will not warn you when you |
| 29 | +install the wheels on distributions that use a glibc older than 2.35. In this |
| 30 | +case the wheels will install but will be unlikely to work. As most riscv64 |
| 31 | +users are expected to use recent distributions to benefit from the latest |
| 32 | +riscv64 support from the kernel and toolchains, this hopefully won't be too |
| 33 | +much of an issue. |
| 34 | + |
| 35 | +The manylinux_2_39 wheels are built with the upstream manylinux_2_39_riscv64 |
| 36 | +image. There are a few exceptions that were built with a custom |
| 37 | +manylinux_2_39_riscv64 based on RockyLinux 10 which we used for a short period |
| 38 | +of time before the official manylinux_2_39_riscv64 images were published. |
| 39 | + |
| 40 | +All earlier wheels are built using a custom manylinux_2_35 based on Ubuntu |
| 41 | +22.04. See the local |
| 42 | +[riseproject/python/manylinux](https://gitlab.com/riseproject/python/manylinux) |
| 43 | +fork for more details. |
0 commit comments