[Wheel-builders] Wheel files for PPC64le

Nick Coghlan ncoghlan at gmail.com
Mon Feb 13 05:54:31 EST 2017


On 30 Jan 2017 5:57 pm, "Leonardo Bianconi" <leonardo.bianconi at eldorado.
org.br> wrote:


So, based on that, initially my plans to make it work is:

1. How to build wheel files?
   Building the wheel files for ppc64le will follow basically the same
process
   that is done for x86_64/i686:
   - The binary executable and compiled code must link only with the same
     library list specified for x86_64/i686.
   - Must use the versions of GLIBC, CXXABI_, GLIBCXX_ and GCC provided with
     the Ubuntu 14.04 (The first distro for ppc64le).

2. How will pip decide if the system is eligible to install the wheel file?
   Detecting if the system is eligible to install the wheel file will follow
   the same rules from the module "_manylinux", but with the following
change
   proposal:
   - Add the platform "ppc64le" in the platform list as a compatible one.
   - Remove the hard-coded glibc version on "return
have_compatible_glibc(2, 5)
     ", and provide a json or configuration file to handle it for each
     architecture, which will be read to obtain the version value.

3. Compiling and testing wheel files.
   In order to compile the wheel files without a ppc64le machine, a
virtualized
   environment will be necessary. So we can provide the following items:
   - Ubuntu 14.04 ppc64le ISO.
   - Wiki with instructions to install the required software and versions.
   - Create a docker file to configure the environment automatically (Not
sure
     if this is a good solution, as the docker would run in a virtualized
     system).

Any questions about the ABI? If not, may I move this discussion to the
distutils-sig?


Sorry for the delayed reply (I've been travelling for the past few weeks
and hence only intermittently polling various mailing lists).

While your approach seems basically sound to me, the main challenge I see
here is that it means the ppc64le manylinux1 build environment will be
starkly different from that for other architectures. That's not necessarily
an insurmountable problem, but it does mean that the main folks you need
agreement from are the https://github.com/pypa/manylinux/ maintainers.

If they're OK with the practical publishing aspects of the proposal, then
it should be pretty easy to get distutils-sig to sign off on a PEP
officially formalising things and defining any necessary updates to PyPI
clients.

Cheers,
Nick.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/wheel-builders/attachments/20170213/50e1ff5b/attachment.html>


More information about the Wheel-builders mailing list