On 27. 01. 22 15:54, Matti Picus wrote:
On 27/1/22 14:59, Miro Hrončok wrote:
...
The only remaining thing is libpypy3.9-c.so in /usr/bin.
I'd like to move it to /usr/lib64 where it will be found.
Technically, Fedora forbids an unversioned so file there.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning
CPython has libpython3.9.so.1.0.
$ objdump -p /usr/lib64/libpython3.9.so.1.0 | grep 'SONAME'
SONAME libpython3.9.so.1.0
Do you think PyPy can do this as well? Or is there a reason not to?
Thanks!
(Previously replied privately, sorry about that).
I tried moving the so to /usr/lib64/libpypy3-c.so.1.0 and adding a symlink to
/usr/lib64/libpypy3-c.so.
After running ldconfig to pick up the new file, I could run pypy3-c, and it
seems venv and virtualenv do not complain about missing the shared object.
So it seems it JustWorks.
In order to be fully SONAME versioned, the file also needs to set SONAME in it.
It seems it JustWorks as well:
# mv /usr/bin/libpypy3.9-c.so /usr/lib64/libpypy3.9-c.so.1.0
# ln -s libpypy3.9-c.so.1.0 /usr/lib64/libpypy3.9-c.so
# patchelf --set-soname libpypy3.9-c.so.1.0 /usr/lib64/libpypy3.9-c.so.1.0
# objdump -p /usr/lib64/libpypy3.9-c.so.1.0 | grep 'SONAME'
SONAME libpypy3.9-c.so.1.0
# pypy3
Python 3.9.10 (5bee8a8dce85, Jan 27 2022, 11:29:45)...
Awesome!
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev