hyprwm/Hyprland

Hyprpm: cant install plugins

Schmazda opened this issue · 6 comments

Hyprland Version

Hyprland, built from branch main at commit af6aae4 dirty (renderer: don't use clipBox for pinned window occlusion during animations). Tag: v0.33.1-16-gaf6aae4e flags: (if any) debug

Bug or Regression?

Bug

Description

cant build Plugins using hyprpm
verbose logs say fatal error: wlr/types/wlr_input_inhibitor.h: No such file or directory

How to reproduce

  • install the mentioned version of hyprland
  • try to install the official hyprland plugins or hyprgrass using hyprpm and add -v
  • look at the beautiful build errors

Crash reports, logs, images, videos


mathias in ~ λ hyprpm add https://github.com/horriblename/hyprgrass -v -n
✔ adding a new plugin repository from https://github.com/horriblename/hyprgrass
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n] y

! old plugin repo build files found in temp directory, removing.                                                                                                                        
 → Cloning https://github.com/horriblename/hyprgrass                                                                                                                                    
✔ cloned                                                                                                                                                                                
✔ found hyprload manifest                                                                                                                                                               
✔ parsed manifest, found 1 plugins:                                                                                                                                                     
 → hyprgrass by horriblename version 0.4.0                                                                                                                                              
 ━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  2 / 5  Verifying headers[v] version returned: Hyprland, built from branch main at commit af6aae4e12b96fff701d8ae8fcb48ea8bb51009f dirty (renderer: don't use clipBox for pinned window occlusion during animations).
Tag: v0.33.1-16-gaf6aae4e

flags: (if any)
debug


[v] parsed commit af6aae4e12b96fff701d8ae8fcb48ea8bb51009f at branch main
✔ Hyprland headers OK                                                                                                                                                                   
 → Building hyprgrass                                                                                                                                                                   
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)                                                                                                          
✖ Plugin hyprgrass failed to build.
[v] shell returned: Submodule 'wf-touch' (https://github.com/WayfireWM/wf-touch) registered for path './'
Cloning into '/tmp/hyprpm/new/subprojects/wf-touch'...
Submodule path './': checked out '8974eb0f6a65464b63dd03b842795cb441fb6403'
The Meson build system
Version: 1.3.0
Source dir: /tmp/hyprpm/new
Build dir: /tmp/hyprpm/new/build
Build type: native build
Project name: hyprgrass
Project version: 0.0.4
C compiler for the host machine: cc (gcc 13.2.1 "cc (GCC) 13.2.1 20230801")
C linker for the host machine: cc ld.bfd 2.41.0
C++ compiler for the host machine: c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20230801")
C++ linker for the host machine: c++ ld.bfd 2.41.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES 
meson.build:8: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Found pkg-config: YES (/usr/bin/pkg-config) 2.0.3
Run-time dependency hyprland found: YES 0.33.1
Found CMake: /usr/bin/cmake (3.27.9)
Run-time dependency wftouch found: NO (tried pkgconfig and cmake)

Executing subproject wf-touch 

wf-touch| Project name: wf-touch
wf-touch| Project version: 0.0
wf-touch| C++ compiler for the host machine: c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20230801")
wf-touch| C++ linker for the host machine: c++ ld.bfd 2.41.0
wf-touch| Run-time dependency glm found: YES 0.9.9.8
wf-touch| Run-time dependency doctest found: NO (tried pkgconfig and cmake)
wf-touch| Build targets in project: 1
wf-touch| Subproject wf-touch finished.

Run-time dependency pixman-1 found: YES 0.42.2
Run-time dependency libdrm found: YES 2.4.118
Build targets in project: 3

hyprgrass 0.0.4

  Subprojects
    wf-touch: YES

Found ninja-1.11.1 at /usr/bin/ninja
                                                
ninja: Entering directory `build'
[1/9] Compiling C++ object src/libhyprgrass.so.p/main.cpp.o
FAILED: src/libhyprgrass.so.p/main.cpp.o 
c++ -Isrc/libhyprgrass.so.p -Isrc -I../src -Isubprojects/wf-touch -I../subprojects/wf-touch -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/hyprland/protocols -I/usr/include/hyprland/wlroots -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -fPIC -DWLR_USE_UNSTABLE -MD -MQ src/libhyprgrass.so.p/main.cpp.o -MF src/libhyprgrass.so.p/main.cpp.o.d -o src/libhyprgrass.so.p/main.cpp.o -c ../src/main.cpp
In file included from /usr/local/include/hyprland/src/debug/Log.hpp:7,
                 from ../src/GestureManager.hpp:4,
                 from ../src/main.cpp:1:
/usr/local/include/hyprland/src/includes.hpp:73:10: fatal error: wlr/types/wlr_input_inhibitor.h: No such file or directory
   73 | #include <wlr/types/wlr_input_inhibitor.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[2/9] Compiling C++ object src/libhyprgrass.so.p/GestureManager.cpp.o
FAILED: src/libhyprgrass.so.p/GestureManager.cpp.o 
c++ -Isrc/libhyprgrass.so.p -Isrc -I../src -Isubprojects/wf-touch -I../subprojects/wf-touch -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/hyprland/protocols -I/usr/include/hyprland/wlroots -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -fPIC -DWLR_USE_UNSTABLE -MD -MQ src/libhyprgrass.so.p/GestureManager.cpp.o -MF src/libhyprgrass.so.p/GestureManager.cpp.o.d -o src/libhyprgrass.so.p/GestureManager.cpp.o -c ../src/GestureManager.cpp
In file included from /usr/local/include/hyprland/src/debug/Log.hpp:7,
                 from ../src/GestureManager.hpp:4,
                 from ../src/GestureManager.cpp:1:
/usr/local/include/hyprland/src/includes.hpp:73:10: fatal error: wlr/types/wlr_input_inhibitor.h: No such file or directory
   73 | #include <wlr/types/wlr_input_inhibitor.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[3/9] Compiling C++ object subprojects/wf-touch/libwftouch.a.p/src_touch.cpp.o
[4/9] Compiling C++ object subprojects/wf-touch/libwftouch.a.p/src_math.cpp.o
[5/9] Compiling C++ object subprojects/wf-touch/libwftouch.a.p/src_actions.cpp.o
[6/9] Compiling C++ object src/gestures/libgestures.a.p/Gestures.cpp.o
ninja: build stopped: subcommand failed.


mathias in ~ λ hyprpm add https://github.com/hyprwm/hyprland-plugins     
✔ adding a new plugin repository from https://github.com/hyprwm/hyprland-plugins
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n] y

! old plugin repo build files found in temp directory, removing.                                                                                                                        
 → Cloning https://github.com/hyprwm/hyprland-plugins                                                                                                                                   
✔ cloned                                                                                                                                                                                
✔ found hyprpm manifest                                                                                                                                                                 
✔ parsed manifest, found 5 plugins:                                                                                                                                                     
 → borders-plus-plus by Vaxry version                                                                                                                                                   
 → csgo-vulkan-fix by Vaxry version                                                                                                                                                     
 → hyprbars by Vaxry version                                                                                                                                                            
 → hyprtrails by Vaxry version                                                                                                                                                          
 → hyprwinwrap by Vaxry version                                                                                                                                                         
✔ Hyprland headers OK                                                                                                                                                                   
 → Building borders-plus-plus                                                                                                                                                           
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)                                                                                                          
✖ Plugin borders-plus-plus failed to build.
mathias in ~ λ hyprpm add https://github.com/hyprwm/hyprland-plugins -v -n
✔ adding a new plugin repository from https://github.com/hyprwm/hyprland-plugins
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n] y

! old plugin repo build files found in temp directory, removing.                                                                                                                        
 → Cloning https://github.com/hyprwm/hyprland-plugins                                                                                                                                   
✔ cloned                                                                                                                                                                                
✔ found hyprpm manifest                                                                                                                                                                 
✔ parsed manifest, found 5 plugins:                                                                                                                                                     
 → borders-plus-plus by Vaxry version                                                                                                                                                   
 → csgo-vulkan-fix by Vaxry version                                                                                                                                                     
 → hyprbars by Vaxry version                                                                                                                                                            
 → hyprtrails by Vaxry version                                                                                                                                                          
 → hyprwinwrap by Vaxry version                                                                                                                                                         
 ━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  2 / 5  Verifying headers[v] version returned: Hyprland, built from branch main at commit af6aae4e12b96fff701d8ae8fcb48ea8bb51009f dirty (renderer: don't use clipBox for pinned window occlusion during animations).
Tag: v0.33.1-16-gaf6aae4e

flags: (if any)
debug


[v] parsed commit af6aae4e12b96fff701d8ae8fcb48ea8bb51009f at branch main
✔ Hyprland headers OK                                                                                                                                                                   
 → Building borders-plus-plus                                                                                                                                                           
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)                                                                                                          
✖ Plugin borders-plus-plus failed to build.
[v] shell returned: make: Entering directory '/tmp/hyprpm/new/borders-plus-plus'
g++ -shared -fPIC --no-gnu-unique main.cpp borderDeco.cpp -o borders-plus-plus.so -g `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b -O2
In file included from /usr/local/include/hyprland/src/defines.hpp:1,
                 from /usr/local/include/hyprland/src/Compositor.hpp:7,
                 from main.cpp:6:
/usr/local/include/hyprland/src/includes.hpp:73:10: fatal error: wlr/types/wlr_input_inhibitor.h: No such file or directory
   73 | #include <wlr/types/wlr_input_inhibitor.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /usr/local/include/hyprland/src/defines.hpp:1,
                 from /usr/local/include/hyprland/src/render/decorations/IHyprWindowDecoration.hpp:3,
                 from borderDeco.hpp:5,
                 from borderDeco.cpp:1:
/usr/local/include/hyprland/src/includes.hpp:73:10: fatal error: wlr/types/wlr_input_inhibitor.h: No such file or directory
   73 | #include <wlr/types/wlr_input_inhibitor.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:2: all] Error 1
make: Leaving directory '/tmp/hyprpm/new/borders-plus-plus'

this looks like outdated headers, somehow. that header has been gone forever. Maybe check if you don't have hyprland headers elsewhere?

i dont understand, how should i check this.

btw maybe i should mention that i installed hyprland using the AUR package hyprland-git

sudo rm -rf /usr/include/hyprland?

Worked!

removing the headers and updating them using hyprpm update fixed it

that might be something worth checking automatically by hyprpm

Had the same problem, I would also recommend doing this command sudo rm -rf /usr/local/include/hyprland/