{"id":16917225,"url":"https://github.com/mayeut/manylinux-ubuntu","last_synced_at":"2026-05-19T02:50:10.399Z","repository":{"id":251652726,"uuid":"837987084","full_name":"mayeut/manylinux-ubuntu","owner":"mayeut","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-02T16:15:37.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T17:24:48.054Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mayeut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-04T16:11:18.000Z","updated_at":"2025-03-02T16:15:34.000Z","dependencies_parsed_at":"2024-11-01T08:19:56.029Z","dependency_job_id":"fb0927f9-49e0-4314-b518-ff17961c23fc","html_url":"https://github.com/mayeut/manylinux-ubuntu","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"265467818945f9a2911e18786877894bca5a30fe"},"previous_names":["mayeut/manylinux-ubuntu"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayeut%2Fmanylinux-ubuntu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayeut%2Fmanylinux-ubuntu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayeut%2Fmanylinux-ubuntu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayeut%2Fmanylinux-ubuntu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mayeut","download_url":"https://codeload.github.com/mayeut/manylinux-ubuntu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244717365,"owners_count":20498283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T19:33:54.666Z","updated_at":"2026-05-19T02:50:10.382Z","avatar_url":"https://github.com/mayeut.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# manylinux-ubuntu\n\nThis is only a PoC that serves multiple purposes:\n- experiment with multiarchitecture images in GHA\n- provide a path to build armv7l manylinux wheels\n- provide a path to build riscv64 manylinux wheels\n\n\n## Why this won't be part of [pypa/manylinux](https://github.com/pypa/manylinux) as a whole\n\nIf you're building manylinux wheels for `x86_64`, `aarch64`, `ppc64le` or `s390x` then,\nthe already existing images based on RHEL derivatives are better suited for the job.\nThey do provide compatibility with older systems while providing a recent gcc toolchain.\nAs an example, the manylinux_2_28 image that ensure built wheels will run on glibc 2.28+ systems\ncurrently provides a gcc 14 toolchain. A manylinux_2_35 image based on Ubuntu 22.04 would only ensure\ncompatibility with more recent glibc 2.35+ systems while providing an older gcc 11 toolchain.\n\nThis [linked issue](https://github.com/pypa/manylinux/issues/1012) has more information about this.\n\n\n## Path to build `armv7l` manylinux wheels\n\n`armv7l` is still used nowadays, for example on [Raspberry Pi](https://www.raspberrypi.com/).\nThere are no RHEL derivatives for this architecture that would allow for \"old systems with a recent toolchain\" out-of-the-box.\n\nAs such, one way forward is to have a Debian derivative image that allows building manylinux wheels for this architecture.\nThis comes with some caveats:\n- in order to achieve compatibility with \"older\" systems, you get an older toolchain:\n    - gcc9 on Ubuntu 20.04 (manylinux_2_31 wheels compatible with Ubuntu 20.04+, Debian 11+)\n    - gcc11 on Ubuntu 22.04 (manylinux_2_35 wheels compatible with Ubuntu 22.04+, Debian 12+)\n    - gcc13 on Ubuntu 24.04 (manylinux_2_39 wheels compatible with Ubuntu 24.04+, Debian 13+)\n- the package manager \u0026 packages names are different than what is found on [pypa/manylinux](https://github.com/pypa/manylinux) images:\n  [pypa/manylinux](https://github.com/pypa/manylinux) images are using RHEL derivatives only for now so using `yum`/`dnf` as a package manager and\n  RHEL like packages names while images here are using `apt` and Debian like packages names.\n  If one depends on let's say OpenSSL development package, then, the commands to issue to install it are a bit different:\n    - `dnf -y install openssl-devel` on RHEL derivatives\n    - `apt-get update \u0026\u0026 apt-get install -y libssl-dev` on Debian derivatives\n\nAn experiment was proposed in [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel/pull/2052) using the `manylinux_2_31` image\nfrom this repository as a first step towards supporting `armv7l` manylinux wheel building.\n\nFollowing that experiment, a specific `armv7l` image has been [added in pypa/manylinux](https://github.com/pypa/manylinux/pull/1699).\n\n[pypa/manylinux](https://github.com/pypa/manylinux) support for `riscv64` has been [added using an RHEL derivative](https://github.com/pypa/manylinux/pull/1743).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayeut%2Fmanylinux-ubuntu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmayeut%2Fmanylinux-ubuntu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayeut%2Fmanylinux-ubuntu/lists"}