Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 674
    • Issues 674
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyPyPyPy
  • pypypypy
  • Issues
  • #3616
Closed
Open
Issue created Dec 15, 2021 by pobv@pobv

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking