pycapnp icon indicating copy to clipboard operation
pycapnp copied to clipboard

Update to manylinux2014 and add aarch64

Open haata opened this issue 3 years ago • 4 comments

PEP 571 defined manylinux2010_x86_64 and manylinux2010_i686 platform tags and the wheels were built on Centos6. Centos6 reached End of Life (EOL) on November 30th, 2020.

So it's time to move to manylinux2014: https://github.com/pypa/manylinux

One of the big changes with manylinux2014 are the number of architectures available (beyond i686 and x86_64). We should add as many as we can (with a few that need to be added).

  • x86_64 (required)
  • i686 (required)
  • aaarch64 (required)

Other architectures are available, but we should wait until there are requests until attempting to add them.

  • armv7l (no docker image available)
  • ppc64
  • ppc64le
  • s390x

One big caveat here is that GitHub Actions don't have arch support for anything other than x86. So something like https://github.com/marketplace/actions/run-on-architecture might end up being more useful (but we'll need to see if manylinux2014 can be made to work with it to maximize wheel compatibility).

haata avatar Jun 01 '21 16:06 haata

https://github.com/dockcross/dockcross has manylinux2014 images which could produce aaarch64

jayvdb avatar Jun 01 '21 22:06 jayvdb

A build of pycapnp on https://github.com/marketplace/actions/run-on-architecture aarch64 took ~5h25m until when it needed Python.h https://github.com/jayvdb/pycapnp/runs/2723686224?check_suite_focus=true

I've kicked off a new build with pythonX.Y-devel, but my guess is this will reach the 6hr maximum for GitHub Actions. No doubt it can be optimised a bit, and could be seriously reduced if using a capnproto-devel prebuilt distro package is acceptable. Unfortunately on CentOS 7, the prebuilt capnproto-devel is v 0.5.3.1 . Likely we can find/create a later version for CentOS 7, but simplicity is being lost.

jayvdb avatar Jun 02 '21 06:06 jayvdb

Failed at 6h https://github.com/jayvdb/pycapnp/runs/2725144360?check_suite_focus=true

Unfortunately I dont see any suitable "cross compile" github actions.

jayvdb avatar Jun 02 '21 20:06 jayvdb

Yeah, I think we can leave this for when the infrastructure catches up.

haata avatar Jun 02 '21 20:06 haata