Closed tommyalatalo closed 2 months ago
Yeah I'm aware; been talking about this with someone else on the Hyprland discord. I'm going to make a hyprland-devel
subpackage which automatically installs dependencies for this, it's just that Void splits the headers into separate "-devel" packages and the build dependencies are not installed onto your host system (this is also a problem on some other distros).
You can manually deal with it for now by installing everything under makedepends
and hostmakedepends
in the template, and using the -v
flag when adding plugins will give you more information as to what files exactly are missing – some things may need to be manually symlinked to /usr/include/
from, for example, /usr/include/wayland/
for it to pick them up even after the -devel
packages are installed (not sure, that's just been the case for me on OpenSUSE).
Also, libdrm-devel
will need to be installed using void-packages with this repo applied because as with everything in void the upstream void-packages version of libdrm
is out of date.
This should be fixed in #31 using hyprland-devel
although I've made a lot of dependency changes so I want to test it on a clean install of void before merging to make sure all the necessary dependencies are there, and I haven't had the chance as the 3D acceleration on my VMs isn't working.
So I have gotten it most of the way there with hyprland-devel
in 0.36.0 – just make
and gcc
have to be manually installed. That said, there still appears to be some issue and I'm not sure what's causing it. Maybe because hyprpm update
only builds using make all
which builds with systemd support while the template builds with the "no systemd" flag specified. I really can't say for sure, but I do know that (at least on glibc which I've tested it on) Hyprland with make all
recognizes void linux as having systemd for whatever reason???
Hyprland with
make all
recognizes void linux as having systemd for whatever reason???
On further inspection this appears to be due to libelogind, which is a dependency of libseat-devel, which Hyprland depends on. Basically the NO_SYSTEMD
flag is useless.
Still no clue why hyprpm fails. I tried building it without the NO_SYSTEMD
flag to see if there was maybe a slight difference, but nothing changed. I would say this does not seem to be an issue that is isolated to void – I've found the only way to reliably get plugins working on OpenSUSE as well is to build from source rather than use the distro packages.
I'm getting to the part where it finishes installing headers to XDG_DATA_HOME/hyprpm/headersRoot and changes the mode to 755, but then it just throws up failed to install headers with error code 2
Hyprland with
make all
recognizes void linux as having systemd for whatever reason???On further inspection this appears to be due to libelogind, which is a dependency of libseat-devel, which Hyprland depends on. Basically the
NO_SYSTEMD
flag is useless.Still no clue why hyprpm fails. I tried building it without the
NO_SYSTEMD
flag to see if there was maybe a slight difference, but nothing changed. I would say this does not seem to be an issue that is isolated to void – I've found the only way to reliably get plugins working on OpenSUSE as well is to build from source rather than use the distro packages.I'm getting to the part where it finishes installing headers to XDG_DATA_HOME/hyprpm/headersRoot and changes the mode to 755, but then it just throws up
failed to install headers with error code 2
Have you gotten any input on this from the hyprland/hyprpm devs, specifically regarding the manual build differences vs distro packages?
Have you gotten any input on this from the hyprland/hyprpm devs, specifically regarding the manual build differences vs distro packages?
Haven't asked yet. Will do when I have the time after looking into it a bit more.
I'm getting the same error, I can't install any plugins.
Is there a temp workaround we can try? Like boot into arch install hyprland and copy the header files in to /usr/local/include? Or is there somewhere I can copy the header files?
I've changed pkg-config
to pkgconf
and added gcc
and make
. Hopefully this fixes it? At least it seems to have done so on my virtual machine.
I'm trying to use hyprpm for the first time and running
hyprpm update
seems to not be working. Not sure if this is a packaging issue and can be fixed in the templates, or if this is something that should be handled by the user locally?Wondering if others have this running with hyprland on void.
Even if I install
cmake
andmeson
that seem to be missing above I still get the same error about installing headers: