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)
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.