Hyprland: cannot build hyprland with latest wlroots

wlroots commit 0611c10909b17276bd633a4ee9a322995e9a3580, hyprland fails to compile.

[119/376] Generating subprojects/wlroots/render/vulkan/shaders/common.vert_spv with a custom command
ninja: job failed: c++ -Isrc/Hyprland.p -Isrc -I../src -Isubprojects/wlroots/include -I../subprojects/wlroots/include -Iprotocols -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -O3 -g -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing '-DGIT_BRANCH=""' '-DGIT_COMMIT_HASH=""' '-DGIT_COMMIT_MESSAGE=""' '-DGIT_DIRTY="dirty"' -DHYPRLAND_DEBUG -std=c++23 -O3 -pipe -w -march=native -pthread -DWLR_USE_UNSTABLE -MD -MQ src/Hyprland.p/helpers_SubsurfaceTree.cpp.o -MF src/Hyprland.p/helpers_SubsurfaceTree.cpp.o.d -o src/Hyprland.p/helpers_SubsurfaceTree.cpp.o -c ../src/helpers/SubsurfaceTree.cpp
../src/helpers/SubsurfaceTree.cpp: In function 'void addSurfaceGlobalOffset(SSurfaceTreeNode*, int*, int*)':
../src/helpers/SubsurfaceTree.cpp:6:28: error: 'struct wlr_surface' has no member named 'sx'
    6 |     *lx += node->pSurface->sx;
      |                            ^~
../src/helpers/SubsurfaceTree.cpp:7:28: error: 'struct wlr_surface' has no member named 'sy'
    7 |     *ly += node->pSurface->sy;
      |                            ^~
ninja: job failed: c++ -Isrc/Hyprland.p -Isrc -I../src -Isubprojects/wlroots/include -I../subprojects/wlroots/include -Iprotocols -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -O3 -g -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing '-DGIT_BRANCH=""' '-DGIT_COMMIT_HASH=""' '-DGIT_COMMIT_MESSAGE=""' '-DGIT_DIRTY="dirty"' -DHYPRLAND_DEBUG -std=c++23 -O3 -pipe -w -march=native -pthread -DWLR_USE_UNSTABLE -MD -MQ src/Hyprland.p/Compositor.cpp.o -MF src/Hyprland.p/Compositor.cpp.o.d -o src/Hyprland.p/Compositor.cpp.o -c ../src/Compositor.cpp
../src/Compositor.cpp: In constructor 'CCompositor::CCompositor()':
../src/Compositor.cpp:56:43: error: too few arguments to function 'wlr_backend* wlr_backend_autocreate(wl_display*, wlr_session**)'
   56 |     m_sWLRBackend = wlr_backend_autocreate(m_sWLDisplay);
      |                     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from ../src/includes.hpp:37,
                 from ../src/defines.hpp:1,
                 from ../src/Compositor.hpp:7,
                 from ../src/Compositor.cpp:1:
../subprojects/wlroots/include/wlr/backend.h:41:21: note: declared here
   41 | struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
      |                     ^~~~~~~~~~~~~~~~~~~~~~
../src/Compositor.cpp:135:49: error: too few arguments to function 'wlr_layer_shell_v1* wlr_layer_shell_v1_create(wl_display*, uint32_t)'
  135 |     m_sWLRLayerShell = wlr_layer_shell_v1_create(m_sWLDisplay);
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from ../src/includes.hpp:54:
../subprojects/wlroots/include/wlr/types/wlr_layer_shell_v1.h:125:28: note: declared here
  125 | struct wlr_layer_shell_v1 *wlr_layer_shell_v1_create(struct wl_display *display,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
../src/Compositor.cpp:176:21: error: 'wlr_backend_get_session' was not declared in this scope; did you mean 'wlr_backend_get_drm_fd'?
  176 |     m_sWLRSession = wlr_backend_get_session(m_sWLRBackend);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~
      |                     wlr_backend_get_drm_fd
ninja: subcommands failed

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 27 (27 by maintainers)

Most upvoted comments

I will sort it out with the next release.

i got it to work with installation of xcb-util-renderutil.

it was weird that it wouldn’t work, but as of right now i am not using cmake, only native meson.

i wanted to go on the discord for easy communication, however the discord server requires a phone number, and I’d rather not give that away to a company like Discord, when many FOSS discord servers don’t have this in place.

IT STILL FAILS.

… that’s the HEAD’s lock. Did you even read what I said? You are compiling a release. You need to go back to the release’s tree.