qtile: Build error building wheel for qtile did not run successfully
The issue:
Was trying to install latest dev version of qtile from git, and
running shell pip install . ended with
Defaulting to user installation because normal site-packages is not writeable
Processing /home/ehiffi/git/qtile
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: cffi>=1.1.0 in /usr/lib/python3.11/site-packages (from qtile==0.22.2.dev185+g4ecf1bde) (1.15.1)
Requirement already satisfied: cairocffi[xcb]>=0.9.0 in /home/ehiffi/.local/lib/python3.11/site-packages (from qtile==0.22.2.dev185+g4ecf1bde) (1.5.1)
Requirement already satisfied: xcffib>=0.10.1 in /home/ehiffi/.local/lib/python3.11/site-packages (from qtile==0.22.2.dev185+g4ecf1bde) (1.3.0)
Requirement already satisfied: pycparser in /usr/lib/python3.11/site-packages (from cffi>=1.1.0->qtile==0.22.2.dev185+g4ecf1bde) (2.21)
Building wheels for collected packages: qtile
Building wheel for qtile (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for qtile (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [45 lines of output]
Failed to find pywlroots. Wayland backend libinput configuration will be unavailable.
running bdist_wheel
running build
running build_py
file libqtile/_ffi_pango.py (for module libqtile._ffi_pango) not found
file libqtile/backend/x11/_ffi_xcursors.py (for module libqtile.backend.x11._ffi_xcursors) not found
running egg_info
writing qtile.egg-info/PKG-INFO
writing dependency_links to qtile.egg-info/dependency_links.txt
writing entry points to qtile.egg-info/entry_points.txt
writing requirements to qtile.egg-info/requires.txt
writing top-level names to qtile.egg-info/top_level.txt
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'libqtile/_ffi*.py'
warning: no previously-included files found matching 'libqtile/backend/x11/_ffi*.py'
no previously-included directories found matching 'rpm'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
adding license file 'LICENSE'
writing manifest file 'qtile.egg-info/SOURCES.txt'
file libqtile/_ffi_pango.py (for module libqtile._ffi_pango) not found
file libqtile/backend/x11/_ffi_xcursors.py (for module libqtile.backend.x11._ffi_xcursors) not found
generating cffi module 'build/lib.linux-x86_64-cpython-311/libqtile/_ffi_pango.py'
already up-to-date
generating cffi module 'build/lib.linux-x86_64-cpython-311/libqtile/backend/x11/_ffi_xcursors.py'
already up-to-date
running build_ext
generating cffi module 'build/temp.linux-x86_64-cpython-311/libqtile.widget._pulse_audio.c'
already up-to-date
installing to build/bdist.linux-x86_64/wheel
running install
It looks like your cairocffi was not built with xcffib support. To fix this:
- Ensure a recent xcffib is installed (pip install 'xcffib>=0.5.0')
- The pip cache is cleared (remove ~/.cache/pip, if it exists)
- Reinstall cairocffi, either:
pip install --no-deps --ignore-installed cairocffi
or
pip uninstall cairocffi && pip install cairocffi
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for qtile
Failed to build qtile
ERROR: Could not build wheels for qtile, which is required to install pyproject.toml-based projects
The thing is I have all it needs for it to build!
pip install pywlroots
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pywlroots in /usr/lib/python3.11/site-packages (0.15.24)
Requirement already satisfied: cffi>=1.12.0 in /usr/lib/python3.11/site-packages (from pywlroots) (1.15.1)
Requirement already satisfied: pywayland>=0.4.14 in /usr/lib/python3.11/site-packages (from pywlroots) (0.4.15)
Requirement already satisfied: xkbcommon>=0.2 in /usr/lib/python3.11/site-packages (from pywlroots) (0.8)
Requirement already satisfied: pycparser in /usr/lib/python3.11/site-packages (from cffi>=1.12.0->pywlroots) (2.21)
I work with wayland and its not the actual reason why I want to build qtile! The whole reason is this
qtile start -b wayland
Traceback (most recent call last):
File "/home/ehiffi/.local/bin/qtile", line 5, in <module>
from libqtile.scripts.main import main
ModuleNotFoundError: No module named 'libqtile'
And all that happened after i tried to update my system! I run Artix Linux with OpenRC. Any help would help
Required:
- I have searched past issues to see if this bug has already been reported.
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 1
- Comments: 15 (8 by maintainers)
Commits related to this issue
- fix: adapt to new way of builing ffi https://github.com/qtile/qtile/issues/4265#issuecomment-1562633050 — committed to clotodex/qtile-install-script by clotodex a year ago
@elParaguayo, I also managed to install qtile. Not sure what have changed, perhaps someone fixed an issue with one of the dependencies, or I installed a missing one… Anyway, this worked for me after a while(installing qtile from source):
If using pip, run
pip install --no-cache --upgrade --no-build-isolation cairocffi. If you’re then installing qtile with pip, add the same--no-build-isolationoption.Released. 😃
For anyone here: it should be fixed on tree but it’s not released yet. Installing Qtile from source with
pip install git+https://github.com/qtile/qtile@mastershould help!