Hi there,

First of all, thanks for checking out the information about Docker images, Nick!

Since Leonardo's last email got some formatting issues, I'm fixing it (mostly 
manually) and sending it here again.

Kind regards,
Bruno Rosa

--------------------------------------------------
> Having manylinuxN consistently align with CentOS(N+4) seems reasonable to me 
> for simplicity's sake, but there should be a discussion in the PEP around how 
> that aligns with ppc64le support on other LTS distros (mainly Debian and 
> Ubuntu).
> Given the relative dates involved, I'd expect manylinux-style binaries 
> compiled on CentOS 7 to also work on Ubuntu 14.04, 16.04 and Debian 8, but 
> the PEP should explicitly confirm that the nominated symbol versions above 
> are available on all of those distros.

Ok, I can add it to the PEP, but regarding the supported distros, the older 
than CentOS 7 may not be compatible, based on the backward compatibility rules, 
that does not guarantee compatibility with older versions, only with newer. I 
sent a message about it here 
https://mail.python.org/pipermail/wheel-builders/2017-March/000265.html.
 
> I don't think is quite that simple, as installers need to be able to figure 
> out:
> - on manylinux3 compatible platforms, prefer manylinux3 to manylinux1
> - on manylinux3 *in*compatible platforms, only consider manylinux1
> And that means asking the question: when combined with the option of the 
> distro-provided `_manylinux` module, is "have_compatible_glibc(2, 5) and not 
> have_compatible_glibc(2, 17)" an adequate check for the latter case? (My 
> inclination is to say "yes", but it would be helpful to have some more 
> concrete data on glibc versions in different distros of interest)

Well, I didn’t realize that proposing a new tag would require an additional 
check about the tags, which will be a requirement for the manylinux2 as well, 
when the CentOS 5 be replaced by CentOS 6 for x86_64/i686. I need to check 
where and how the method “is_manylinux1_compatible” is used to think how it 
would be done. I will check that and propose how to do it.

> Beyond that, I think the main open question would be: do we go ahead and 
> define the full `manylinux3` specification now? CentOS 7+, Ubuntu 14.04+, 
> Debian 8+ compatibility still covers a *lot* of distros and deployments, and 
> doing so means folks can bring the latest versions of gcc to bear on their 
> code,   rather than being limited to the last version that was made available 
> for RHEL/CentOS 5 (gcc 4.8).

 Actually the idea was make it available for PPC64le, just as it is available 
to x86_64/i686 nowadays, like porting it. I didn’t think about the definition 
of all requirements for the manylinux3 for all architectures, as it can change 
until x86_64/i686 get to the manylinux3.
Being limited to an old version, as CentOS 5 (gcc 4.8) is a requirement from 
PEP 513, which guarantees the backward compatibility, right? I do not want to 
change it, this proposal is just to create a tag for PPC64le, until both 
architectures get to the same base distro version. As I said above, I have 
already sent a message about basing it on CentOS 7, which does not guarantee 
the compatibility with older distros (example: Ubuntu 14.04).

Is there any thinking about base on a newer distro and make the wheel files 
compatible with distros older than it? Sorry if I’m missing something here.

I’m coping the Bruno Rosa, which will be involved with this PEP as well.

Cheers,
Leonardo Bianconi.
--------------------------------------------------
_______________________________________________
Distutils-SIG maillist  -  [email protected]
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to