libtcl8.5.so dependency in pypy3.8
The documentation says that pypy3 includes all dependencies it needs to run. However, when using pypy3.8-v7.3.7 on debian 11 one cannot
import tkinter as a required library is missing.
$ /opt/pypy3.8-v7.3.7-linux64/bin/pypy3 Python 3.8.12 (9ef55f6fc369, Oct 24 2021, 20:11:54) [PyPy 7.3.7 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>> import tkinter Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/pypy3.8-v7.3.7-linux64/lib/pypy3.8/tkinter/__init__.py", line 36, in <module> import _tkinter # If this fails your Python may not be configured for Tk File "/opt/pypy3.8-v7.3.7-linux64/lib/pypy3.8/_tkinter/__init__.py", line 14, in <module> from .tklib_cffi import ffi as tkffi, lib as tklib ImportError: libtcl8.5.so: cannot open shared object file: No such file or directory >>>>
ldd confirms that.
$ ldd /opt/pypy3.8-v7.3.7-linux64/lib/pypy3.8/_tkinter/tklib_cffi.pypy38-pp73-x86_64-linux-gnu.so linux-vdso.so.1 (0x00007fff017df000) libtcl8.5.so => not found libtk8.5.so => not found libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f31ab511000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f31ab34c000) /lib64/ld-linux-x86-64.so.2 (0x00007f31ab75b000)
on debian11 tcl/tk 8.5 is no longer available. In /opt/pypy... there is no libtcl*. Should pypy3 bring its own
libtcl8.5.so, should it use
libtcl8.6.so (most sensible nowadays?) or am I doing something wrong?
Note that using the pypy3 provided by debian 11 is unfortunately a no go, as it searches in
/usr/lib/python3/dist-packages/, which makes it totally unusable as most packages with native parts (such as pillow) don't work and nothing can be installed with pip as it claims something is already there. I have to install something hostwide for all users, thus
venv is also not a solution.