systemd / pystemd

A thin Cython-based wrapper on top of libsystemd, focused on exposing the dbus API via sd-bus in an automated and easy to consume way.
GNU Lesser General Public License v2.1
409 stars 36 forks source link

pystemd doesn't work with Python version 3.10.1 #65

Closed banool closed 2 years ago

banool commented 2 years ago

The error:

Jan 14 09:36:06 salsal run.sh[14952]:     from pystemd.dbuslib import DBus, apply_signature
Jan 14 09:36:06 salsal run.sh[14952]: ImportError: /home/daniel/control_panel/myvenv/lib/python3.10/site-packages/pystemd/dbuslib.cpython-310-x86_64-linux-gnu.so: undefined symbol: _PyGen_Send

Versions:

$ sc --version
systemd 250 (250.2-2-arch)

$ python --version
Python 3.10.1

This is using https://aur.archlinux.org/packages/python-pystemd/, which is version 0.9.

I suspect this is due to https://github.com/cython/cython/issues/3876, where Cython has issues with the latest version of Python. This was apparently fixed in 0.29.22.

I'm trying to figure out now what version of Cython we use to see if that's the issue

banool commented 2 years ago

Okay so I built pystemd from source and it fixed it, instead of using the pystemd from the AUR. I guess we just need to upload a new version there.

aleivag commented 2 years ago

this was just a problem with AUR, and not with pystemd (even tho we dont currently test on py 3.10