Hi,

On Thu, 2 Dec 2021 at 21:10, Michał Górny <mgo...@gentoo.org> wrote:

> > 4) The /usr/bin/libpypy3-c.so file is *not* namespaced and seems misplaced
>
> TBH I've never really understood the purpose of this file.
> We've stopped using it at some point and nothing really changed for us.

It is needed for "embedding" situations, which nowadays means
https://cffi.readthedocs.io/en/latest/embedding.html.  If we want to
go the full CPython way, we need to rename and move
"$localdir/libpypy3-c.so" to something like "/usr/lib/libpypy38.so"
and have /usr/bin/pypy3.8 be a program that is linked to
"libpypy38.so" instead of "$localdir/libpypy3-c.so".  This would have
consequences for my own habits---e.g. the executable would no longer
find its .so if it lives simply in the same directory.  Arguably not a
big issue :-)  A freshly translated pypy would not work without
LD_LIBRARY_PATH tricks, just like a freshly compiled CPython does not.
The CPython solution to that annoyance is to compile statically by
default, if no option is passed to ./configure; you need to give the
--enable-shared option explicitly, and all distributions do.  So if we
want to copy all of that for PyPy, we could.

(Note that the CPython explanation is based on my 2.7 knowledge and
may be outdated.)


A bientôt,

Armin.
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to