squeaky-pl / portable-pypy

Portable 64 bit x86 PyPy binaries for many Linux distributions.
Other
478 stars 38 forks source link

Binaries not compatible with "manylinux1" #55

Closed antocuni closed 4 years ago

antocuni commented 7 years ago

I am trying to build PyPy binary wheels of some packages. The official way of making "manylinux1" packages is to build them using a specific docker image based on CENTOS 5: https://github.com/pypa/manylinux

I see that pypy portable binaries are based on CENTOS 6 instead: as a consequence, pypy doesn't work on such a docker image:

[root@79006327716b bin]# ./pypy 
./pypy: /lib64/libc.so.6: version `GLIBC_2.9' not found (required by /pypy-wheels/pypy-5.8-linux_x86_64-portable/bin/libpypy-c.so)
./pypy: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by /pypy-wheels/pypy-5.8-linux_x86_64-portable/bin/../lib/libcrypto.so.1.1)
./pypy: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by /pypy-wheels/pypy-5.8-linux_x86_64-portable/bin/../lib/libffi.so.6)

How hard would it be to base the build on centos 5 instead of 6?

ghost commented 7 years ago

CentOS is EOL, so author of portable pypy dropped support for it

squeaky-pl commented 7 years ago

To cut the long story short previously things were done on Centos 5. When PyPy3 came I was not able to translate it on Centos 5 because of missing APIs about closing file descriptors on fork, so I added Centos 6 just for PyPy3. In March this year Centos 5 went EOL and some of the mirrors started deleting packages, things started failing. That's when I decided it's not worth it and moved everything to Centos 6.

So for PyPy2 it would be still possible to revert that (you can hard code some mirrors and pray they don't delete packges) but it's not certainly beautiful.

squeaky-pl commented 7 years ago

Also the wget/curl in Centos 5 is not able to use HTTPS to download things since many servers disabled the version of SSL Centos 5 ships.

squeaky-pl commented 7 years ago

I really hope what could happen instead is manylinux2 based on Centos 6. Staying on Centos 5 is just asking for problems. See this pull as well https://github.com/pypa/manylinux/pull/105

squeaky-pl commented 4 years ago

Closing this because the build environment is compatible with newer manylinux2010