qtile: Error compiling qtile

Issue description

give me this error to install qtile github version

Defaulting to user installation because normal site-packages is not writeable
Processing /home/cr1ogen/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 /home/cr1ogen/.local/lib/python3.11/site-packages (from qtile==0.23.1.dev21+ge410b9d0) (1.16.0)
Requirement already satisfied: cairocffi[xcb]>=1.6.0 in /home/cr1ogen/.local/lib/python3.11/site-packages (from qtile==0.23.1.dev21+ge410b9d0) (1.6.1)
Requirement already satisfied: xcffib>=1.4.0 in /home/cr1ogen/.local/lib/python3.11/site-packages (from qtile==0.23.1.dev21+ge410b9d0) (1.5.0)
Requirement already satisfied: pycparser in /home/cr1ogen/.local/lib/python3.11/site-packages (from cffi>=1.1.0->qtile==0.23.1.dev21+ge410b9d0) (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
  ╰─> [7 lines of output]
      Installing wlroots v0.16.6 requires wlroots v0.16.x, found v0.17.0
      Built with support for XWayland helpers.
      running bdist_wheel
      running build
      running build_py
      running egg_info
      error: Cannot update time stamp of directory 'qtile.egg-info'
      [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

If I want to install it with sudo the error is more detailed

Processing /home/cr1ogen/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/local/lib/python3.11/dist-packages (from qtile==0.23.1.dev21+ge410b9d0) (1.16.0)
Requirement already satisfied: cairocffi[xcb]>=1.6.0 in /usr/local/lib/python3.11/dist-packages (from qtile==0.23.1.dev21+ge410b9d0) (1.6.1)
Requirement already satisfied: xcffib>=1.4.0 in /usr/local/lib/python3.11/dist-packages (from qtile==0.23.1.dev21+ge410b9d0) (1.5.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.1.0->qtile==0.23.1.dev21+ge410b9d0) (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
  ╰─> [89 lines of output]
      Installing wlroots v0.16.6 requires wlroots v0.16.x, found v0.17.0
      Built with support for XWayland helpers.
      running bdist_wheel
      running build
      running build_py
      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'
      warning: no previously-included files found matching 'libqtile/backend/wayland/_ffi*.*'
      warning: no previously-included files found matching 'libqtile/backend/wayland/_libinput*.*'
      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'
      running build_ext
      generating cffi module 'build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c'
      already up-to-date
      building 'libqtile.backend.wayland._ffi' extension
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -fwrapv -O2 -fPIC -DWLR_USE_UNSTABLE -I/usr/include/pixman-1 -I/usr/include/libdrm -I/tmp/pip-build-env-iklebhm8/overlay/local/lib/python3.11/dist-packages/wlroots/include -I/usr/include/python3.11 -c build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c -o build/temp.linux-x86_64-cpython-311/build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.o
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_drag_icon’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:3164:12: error: ‘struct wlr_drag_icon’ has no member named ‘mapped’
       3164 |   (void)((p->mapped) | 0);  /* check that 'struct wlr_drag_icon.mapped' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_layer_surface_v1’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:3499:12: error: ‘struct wlr_layer_surface_v1’ has no member named ‘mapped’
       3499 |   (void)((p->mapped) | 0);  /* check that 'struct wlr_layer_surface_v1.mapped' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_subsurface’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4317:12: error: ‘struct wlr_subsurface’ has no member named ‘mapped’
       4317 |   (void)((p->mapped) | 0);  /* check that 'struct wlr_subsurface.mapped' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_surface’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4344:12: error: ‘struct wlr_surface’ has no member named ‘sx’
       4344 |   (void)((p->sx) | 0);  /* check that 'struct wlr_surface.sx' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4345:12: error: ‘struct wlr_surface’ has no member named ‘sy’
       4345 |   (void)((p->sy) | 0);  /* check that 'struct wlr_surface.sy' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4354:21: error: ‘struct wlr_surface’ has no member named ‘role_data’
       4354 |   { void * *tmp = &p->role_data; (void)tmp; }
            |                     ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_surface_role’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4383:80: error: ‘struct wlr_surface_role’ has no member named ‘precommit’; did you mean ‘commit’?
       4383 |   { void(* *tmp)(struct wlr_surface *, struct wlr_surface_state const *) = &p->precommit; (void)tmp; }
            |                                                                                ^~~~~~~~~
            |                                                                                commit
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_xdg_popup’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4587:12: error: ‘struct wlr_xdg_popup’ has no member named ‘committed’
       4587 |   (void)((p->committed) | 0);  /* check that 'struct wlr_xdg_popup.committed' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_xdg_surface’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4668:12: error: ‘struct wlr_xdg_surface’ has no member named ‘mapped’
       4668 |   (void)((p->mapped) | 0);  /* check that 'struct wlr_xdg_surface.mapped' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4674:33: error: ‘struct wlr_xdg_surface’ has no member named ‘surface_commit’
       4674 |   { struct wl_listener *tmp = &p->surface_commit; (void)tmp; }
            |                                 ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_xdg_toplevel’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4709:12: error: ‘struct wlr_xdg_toplevel’ has no member named ‘added’
       4709 |   (void)((p->added) | 0);  /* check that 'struct wlr_xdg_toplevel.added' is an integer */
            |            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_xdg_toplevel_decoration_v1’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4743:39: error: ‘struct wlr_xdg_toplevel_decoration_v1’ has no member named ‘surface’
       4743 |   { struct wlr_xdg_surface * *tmp = &p->surface; (void)tmp; }
            |                                       ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: At top level:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4881:66: warning: ‘struct wlr_xwayland_move_event’ declared inside parameter list will not be visible outside of this definition or declaration
       4881 | static void _cffi_checkfld_struct_wlr_xwayland_move_event(struct wlr_xwayland_move_event *p)
            |                                                                  ^~~~~~~~~~~~~~~~~~~~~~~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_xwayland_move_event’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4885:44: error: invalid use of undefined type ‘struct wlr_xwayland_move_event’
       4885 |   { struct wlr_xwayland_surface * *tmp = &p->surface; (void)tmp; }
            |                                            ^~
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: At top level:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4887:92: error: field ‘y’ has incomplete type
       4887 | struct _cffi_align_struct_wlr_xwayland_move_event { char x; struct wlr_xwayland_move_event y; };
            |                                                                                            ^
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c: In function ‘_cffi_checkfld_struct_wlr_xwayland_surface’:
      build/temp.linux-x86_64-cpython-311/libqtile.backend.wayland._ffi.c:4963:12: error: ‘struct wlr_xwayland_surface’ has no member named ‘mapped’
       4963 |   (void)((p->mapped) | 0);  /* check that 'struct wlr_xwayland_surface.mapped' is an integer */
            |            ^~
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [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

Version

not have version installed

Backend

X11 (default)

Config

No response

Logs

No response

Required

  • I have searched past issues to see if this bug has already been reported, and it hasn’t been.
  • I understand that people give their precious time for free, and thus I’ve done my very best to make this problem as easy as possible to investigate.

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Comments: 19 (8 by maintainers)

Most upvoted comments

OK - just on the language point, with “ever” do you mean “siempre” or “nunca”?

Very odd. Are you using qtile on x11?

If so, I’d suggest removing the pywlroots line from build dependencies in pyproject.toml as a short term fix.