hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.97k stars 913 forks source link

Hyprpm: cant install plugins #4108

Closed Schmazda closed 11 months ago

Schmazda commented 12 months ago

Hyprland Version

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

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

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'
vaxerski commented 12 months ago

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

Schmazda commented 11 months ago

i dont understand, how should i check this.

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

vaxerski commented 11 months ago

sudo rm -rf /usr/include/hyprland?

Schmazda commented 11 months ago

Worked!

removing the headers and updating them using hyprpm update fixed it

vaxerski commented 11 months ago

that might be something worth checking automatically by hyprpm

TomAintAround commented 11 months ago

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