Closed d3cryptofc closed 8 months ago
this suggests a version mismatch between wlroots and hyprland. Hyprland relies on a very specific commit. Maybe something went wrong with the tarball? Though it's been working forever, so I'd rather say it's something on your end.
The version of libwlroots
that I am using is the same from Makefile
λ ls /usr/local/lib/libwlroots* /usr/lib/libwlroots* /usr/lib64/libwlroots*
/usr/lib64/libwlroots.so.12032
/usr/local/lib/libwlroots.so.12032
/usr/lib/libwlroots.so.12032
λ cat Makefile | grep -Po "\Klibwlroots\.so\.\d+"
libwlroots.so.12032
libwlroots.so.12032
I will run the steps again to look it closely and put here the log, wait a moment please.
λ sudo make uninstall
rm -f /usr/local/share/wayland-sessions/hyprland.desktop
rm -f /usr/local/bin/Hyprland
rm -f /usr/local/bin/hyprctl
rm -f /usr/local/lib/libwlroots.so.12032
rm -rf /usr/local/share/hyprland
rm -f /usr/local/share/man/man1/Hyprland.1
rm -f /usr/local/share/man/man1/hyprctl.1
λ make all https://gist.github.com/d3cryptofc/e7cad5e5ebb3b81b4fedd4ab7cb918bc
λ sudo make install
!NOTE: Please note make install does not compile Hyprland and only installs the already built files.mkdir -p /usr/local/share/wayland-sessions
mkdir -p /usr/local/bin
cp -f ./build/Hyprland /usr/local/bin
cp -f ./build/hyprctl/hyprctl /usr/local/bin
chmod 755 /usr/local/bin/Hyprland
chmod 755 /usr/local/bin/hyprctl
if [ ! -f /usr/local/share/wayland-sessions/hyprland.desktop ]; then cp ./example/hyprland.desktop /usr/local/share/wayland-sessions; fi
mkdir -p /usr/local/share/hyprland
cp ./assets/wall_* /usr/local/share/hyprland
mkdir -p /usr/local/share/xdg-desktop-portal
cp ./assets/hyprland-portals.conf /usr/local/share/xdg-desktop-portal
mkdir -p /usr/local/share/man/man1
install -m644 ./docs/*.1 /usr/local/share/man/man1
mkdir -p /usr/local/lib/
cp ./subprojects/wlroots/build/libwlroots.so.12032 /usr/local/lib/
make installheaders
make[1]: Entering directory '/home/lelzin/Downloads/hyprland-source'
mkdir -p /usr/local/include/hyprland
mkdir -p /usr/local/include/hyprland/protocols
mkdir -p /usr/local/include/hyprland/wlroots
mkdir -p /usr/local/share/pkgconfig
find src -name '*.h*' -print0 | cpio --quiet -0dump /usr/local/include/hyprland
cd subprojects/wlroots/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /usr/local/include/hyprland/wlroots && cd ../../..
cd subprojects/wlroots/build/include && find . -name '*.h*' -print0 | cpio --quiet -0dump /usr/local/include/hyprland/wlroots && cd ../../../..
cp ./protocols/*-protocol.h /usr/local/include/hyprland/protocols
cp ./build/hyprland.pc /usr/local/share/pkgconfig
if [ -d /usr/share/pkgconfig ]; then cp ./build/hyprland.pc /usr/share/pkgconfig 2>/dev/null || true; fi
chmod -R 755 /usr/local/include/hyprland
chmod 755 /usr/local/share/pkgconfig
make[1]: Leaving directory '/home/lelzin/Downloads/hyprland-source'
Solved!
My solution:
sudo make uninstall
rm -rf /usr/local/lib/libwlroots* /usr/lib/libwlroots* /usr/lib64/libwlroots*
make all
sudo make install
sudo ln -s /usr/local/lib/libwlroots* /usr/lib/
I believe that Arch users needs to change Makefile
on line 1
from:
PREFIX = /usr/local
to
PREFIX = /usr
Because Hyprland binary can´t find libwlroots when its in /usr/local/lib
:
Hyprland: error while loading shared libraries: libwlroots.so.12032: cannot open shared object file: No such file or directory
You were right about version mismatch between Hyprland and wlroots, I had forgot but I have renamed a previous libwlroots to a new Hyprland (I was lazy).
Thank you very much!! :)
Hyprland Version
Hyprland, built from branch HEAD at commit eab279984285250bd544de40868888186a8edeb7 (props: bump ver to 0.32.2).
Bug or Regression?
Bug
Description
When I try to run Hyprland, either through sddm or tty, it crashes with the following error:
It happens when I rename or delete the
hyprland-source
folder, the same that I used to compile the Hyprland, but maybe I must be doing it wrong.Should I really delete that folder? or just put it in
/usr/share
?I don't think so because I am following like the docs steps: https://wiki.hyprland.org/Getting-Started/Installation/#cmake-recommended.
How to reproduce
Crash reports, logs, images, videos