Hyprland-git no longer builds since todays updates. I get this error:
cmake --build ./build --config Release --target all -j16
ninja: error: '/home/justine/.cache/paru/clone/hyprland-git/src/hyprland/subprojects/udis86/build/libudis86/liblibudis86.a', needed by 'Hyprland', missing and no known rule to make it
make: *** [Makefile:144: release] Error 1
But I've been informed that by changing the build part of the PKGBUILD to below will fix this until the maintainer fixes the PKGBUILD here. PS It does work as I'm using this work around.
build() {
cd "${srcdir}/${_pkgname}"
git submodule update --init
make fixwlr
cd "./subprojects/wlroots/" && meson build/ --prefix="${srcdir}/tmpwlr" --buildtype=release && ninja -C build/ && mkdir -p "${srcdir}/tmpwlr" && ninja -C build/ install && cd ../
cd udis86 && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -H./ -B./build -G Ninja && cmake --build ./build --config Release --target all -j$(shell nproc) && cd ../..
make protocols
make release
cd ./hyprctl && make all && cd ..
}
Pinned Comments
zjeffer commented on 2024-07-17 16:50 (UTC) (edited on 2024-07-17 16:52 (UTC) by zjeffer)
Tips & tricks, common issues
using ccache/sccache
Precompiled headers (PCH) was enabled by default, this would most likely invalidate the compiler cache if any of the upstream header files change. To disable PCH, add the meson build option
-Db_pch=false
tobuild()
.Build with specific pull requests
Use
pick_mr <pull request number>
at the end ofprepare()
to merge pull requests locally. For example, to merge https://github.com/hyprwm/Hyprland/pull/6268, useEnable legacy renderer
In the
build()
function, add-D legacy_renderer=true
to meson setupCompilation errors
If you encounter compilation errors, try the following first:
protocols/
, such asprotocols/linux-dmabuf-v1.hpp
, then rebuild or installhyprwayland-scanner-git
;makepkg --cleanbuild
.Symbol not declared
Errors like
<symbol> was not declared in this scope
<symbol> has not been declared
are usually caused by missing headers. Please consider reporting this upstream or creating a pull request if it has not already been done.