rliou92 / python-umonitor

Manage monitor configuration automatically.
MIT License
40 stars 6 forks source link

umonitor not working with python 3.11 #12

Open gabri94 opened 1 year ago

gabri94 commented 1 year ago

Hello, I just upgraded python to 3.11 and umonitor is not working anymore.

running install
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/command/easy_install.py:146: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running bdist_egg
running egg_info
writing umonitor.egg-info/PKG-INFO
writing dependency_links to umonitor.egg-info/dependency_links.txt
writing entry points to umonitor.egg-info/entry_points.txt
writing requirements to umonitor.egg-info/requires.txt
writing top-level names to umonitor.egg-info/top_level.txt
reading manifest file 'umonitor.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'umonitor.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building 'screen' extension
x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.11 -c umonitor/screen.c -o build/temp.linux-x86_64-cpython-311/umonitor/screen.o
umonitor/screen.c:215:12: fatal error: longintrepr.h: File o directory non esistente
  215 |   #include "longintrepr.h"
      |            ^~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
gratejames commented 10 months ago

You can comment that line out, per the changelog: The non-limited API files cellobject.h, classobject.h, context.h, funcobject.h, genobject.h and longintrepr.h have been moved to the Include/cpython directory. Moreover, the eval.h header file was removed. These files must not be included directly, as they are already included in Python.h

Then you get an error about xcb/randr.h, but I solved it by installing libxcb-randr0-dev with apt.

It now raises loads of errors about incomplete type ‘PyFrameObject’, more differences between versions, I guess? I'm unsure how to proceed beyond this point.

igavrysh commented 7 months ago

suggested solution worked in my case (py3.10) thx! @code32123 and @gabri94