Open jecompton opened 1 year ago
I am having the same issue on Debian 12.
I am having the same issue on Debian 12.
It works for me on Debian 12, with "pkg-config", "libsystemd-dev", and "python3-dev".
EDIT : With Python 3.11.2 EDIT 2 : Python 3.11.2 from "python3-full"
To reinstate it, it seems that the same fails on Ubuntu 24.04 too with py311 (deadsnakes), even if python was installed in full python3.11-full. Still the errors is a little bit different:
Building wheels for collected packages: systemd-python
Building wheel for systemd-python (setup.py) ... error
Running setup.py clean for systemd-python
Failed to build systemd-python
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [104 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-311
creating build/lib.linux-aarch64-cpython-311/systemd
copying systemd/__init__.py -> build/lib.linux-aarch64-cpython-311/systemd
copying systemd/journal.py -> build/lib.linux-aarch64-cpython-311/systemd
copying systemd/daemon.py -> build/lib.linux-aarch64-cpython-311/systemd
creating build/lib.linux-aarch64-cpython-311/systemd/test
copying systemd/test/test_daemon.py -> build/lib.linux-aarch64-cpython-311/systemd/test
copying systemd/test/test_journal.py -> build/lib.linux-aarch64-cpython-311/systemd/test
copying systemd/test/test_login.py -> build/lib.linux-aarch64-cpython-311/systemd/test
copying systemd/test/test_id128.py -> build/lib.linux-aarch64-cpython-311/systemd/test
running build_ext
building 'systemd/_journal' extension
creating build/temp.linux-aarch64-cpython-311
creating build/temp.linux-aarch64-cpython-311/systemd
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/_journal.c -o build/temp.linux-aarch64-cpython-311/systemd/_journal.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/pyutil.c -o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-aarch64-cpython-311/systemd/_journal.o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o -L/usr/lib/aarch64-linux-gnu -lsystemd -o build/lib.linux-aarch64-cpython-311/systemd/_journal.cpython-311-aarch64-linux-gnu.so
building 'systemd/_reader' extension
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/_reader.c -o build/temp.linux-aarch64-cpython-311/systemd/_reader.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/pyutil.c -o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/strv.c -o build/temp.linux-aarch64-cpython-311/systemd/strv.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-aarch64-cpython-311/systemd/_reader.o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o build/temp.linux-aarch64-cpython-311/systemd/strv.o -L/usr/lib/aarch64-linux-gnu -lsystemd -o build/lib.linux-aarch64-cpython-311/systemd/_reader.cpython-311-aarch64-linux-gnu.so
building 'systemd/_daemon' extension
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/_daemon.c -o build/temp.linux-aarch64-cpython-311/systemd/_daemon.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/pyutil.c -o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/util.c -o build/temp.linux-aarch64-cpython-311/systemd/util.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-aarch64-cpython-311/systemd/_daemon.o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o build/temp.linux-aarch64-cpython-311/systemd/util.o -L/usr/lib/aarch64-linux-gnu -lsystemd -o build/lib.linux-aarch64-cpython-311/systemd/_daemon.cpython-311-aarch64-linux-gnu.so
building 'systemd/id128' extension
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/id128.c -o build/temp.linux-aarch64-cpython-311/systemd/id128.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/pyutil.c -o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-aarch64-cpython-311/systemd/id128.o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o -L/usr/lib/aarch64-linux-gnu -lsystemd -o build/lib.linux-aarch64-cpython-311/systemd/id128.cpython-311-aarch64-linux-gnu.so
building 'systemd/login' extension
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/login.c -o build/temp.linux-aarch64-cpython-311/systemd/login.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/pyutil.c -o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -g -fwrapv -O2 -fPIC -DPACKAGE_VERSION=\"235\" -DLIBSYSTEMD_VERSION=255 -I/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/include -I/usr/include/python3.11 -c systemd/strv.c -o build/temp.linux-aarch64-cpython-311/systemd/strv.o -std=c99 -Werror=implicit-function-declaration
aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-aarch64-cpython-311/systemd/login.o build/temp.linux-aarch64-cpython-311/systemd/pyutil.o build/temp.linux-aarch64-cpython-311/systemd/strv.o -L/usr/lib/aarch64-linux-gnu -lsystemd -o build/lib.linux-aarch64-cpython-311/systemd/login.cpython-311-aarch64-linux-gnu.so
/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
installing to build/bdist.linux-aarch64/wheel
running install
running install_lib
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-5orjisse/systemd-python_bfb90fba293f41529c2bb525c79f69f9/setup.py", line 79, in <module>
setup (name = 'systemd-python',
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/dist.py", line 1233, in run_command
super().run_command(command)
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 403, in run
self.run_command("install")
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/dist.py", line 1233, in run_command
super().run_command(command)
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/command/install.py", line 78, in run
return orig.install.run(self)
^^^^^^^^^^^^^^^^^^^^^^
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/command/install.py", line 708, in run
self.run_command(cmd_name)
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/dist.py", line 1233, in run_command
super().run_command(command)
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.ensure_finalized()
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
self.finalize_options()
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/command/install_lib.py", line 17, in finalize_options
self.set_undefined_options('install',('install_layout','install_layout'))
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 296, in set_undefined_options
setattr(self, dst_option, getattr(src_cmd_obj, src_option))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/media/psf/c/a/ansible_collections/ansible/eda/.tox/u1/py311-unit/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
raise AttributeError(attr)
AttributeError: install_layout. Did you mean: 'install_platlib'?
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
Here is an interesting discovery:
# this fails to install:
pip==24.0
setuptools==68.1.2
wheel==0.42.0
# this succeeds installing:
pip==24.2
setuptools==72.1.0
systemd-python==235
wheel==0.44.0
The tricky bit is that we do not have much control over which versions of these build deps are installed by default inside a new venv, especially when using a testing framework such tox. it should be noted that these do not see too old either.
The README.md says I can just apt install the headers. However, the only systemd header package available is libsystemd-dev. The others, like libsystemd-journal-dev and libsystemd-daemon-dev do not exist for 20.04, so I can't install them.
If I try to pip install into my venv anyway, I get a bunch of compilation errors (as I figured). They seem related to unicode. Anyway, here's the last lines showing the pip install crashing: