squeaky-pl / portable-pypy

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

Posible Portable PyPy issues with Ubuntu Precise 12.04, libbz2 requires glibc >= GLIBC_2.3 #53

Closed Samureus closed 7 years ago

Samureus commented 7 years ago

Hi, it was reported at the pyenv issue tracker that PyPy3 5.7.1 no longer works in Ubuntu Precise (12.04):

https://github.com/pyenv/pyenv/issues/925#issuecomment-307527973

(pasting relevant comments below)

$ /opt/python/pypy3.5-5.7.1-beta/bin/python -c 'import bz2'
/opt/python/pypy3.5-5.7.1-beta/bin/python: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not found (required by /opt/python/pypy3.5-5.7.1-beta/bin/libpypy3-c.so)

The version of libc on Precise is 2.15:

$ dpkg -l | grep -w libc6
ii  libc6                               2.15-0ubuntu10.18                                   Embedded GNU C Library: Shared libraries
ii  libc6-dev                           2.15-0ubuntu10.18                                   Embedded GNU C Library: Development Libraries and Header Files

When I ran ldd -v on libpypy-c.so and libpypy3-c.so for the latest Portable PyPy release (5.8) it seems to have the same issue?:

    /lib/x86_64-linux-gnu/libbz2.so.1.0:
        libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
        libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
        libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
        libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6

I know that Ubuntu Precise is considered end of life since April of this year

https://lists.ubuntu.com/archives/ubuntu-announce/2017-March/000218.html

and I imagine it would be more of a hassle to bundle yet another library into your build process. Just wanted to let you know.

ghost commented 7 years ago

I think I know why it is like so: https://github.com/squeaky-pl/portable-pypy/commit/958e89d7405a2824e9a1f9b1768dd954543a50db

ghost commented 7 years ago

and also because pypy3 requires higher glibc version than pypy

squeaky-pl commented 7 years ago

Yes, first of all Centos5 is EOL and mirrors started removing packages. Things stopped working.

Also the kernel headers in Centos5 were too old to build PyPy3. Centos 6 users glibc 2.17 that means that resuting binary needs a distro that has glibc at least at 2.17 version. Since that Ubuntu version in question is also EOL I would not bother.

Samureus commented 7 years ago

Not a problem, thanks!