split-monitor-workspaces: Build fails (hyprpm)

I’m quite new to the Hyprland ecosystem, apologies as I’m not very familiar with it.

I have the latest Hyprland installed (self-compiled, commit 220144276b8789d05e58df3e0452314c11b64728)

Output from running hyprpm -v add https://github.com/Duckonaut/split-monitor-workspaces:

allison ~ % hyprpm -v add https://github.com/Duckonaut/split-monitor-workspaces                                                                                                                                                       [ OK ]
[v] version returned: Hyprland, built from branch main at commit 220144276b8789d05e58df3e0452314c11b64728  (layout: unfullscreen on toggle into tiled fullscreen).
Date: Sun Mar 10 17:31:49 2024
Tag: v0.36.0-97-g22014427

flags: (if any)


[v] parsed commit 220144276b8789d05e58df3e0452314c11b64728 at branch main
✔ adding a new plugin repository from https://github.com/Duckonaut/split-monitor-workspaces
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n] 

 → Cloning https://github.com/Duckonaut/split-monitor-workspaces                                                                                                                                                                             
✔ cloned                                                                                                                                                                                                                                     
✔ found hyprpm manifest                                                                                                                                                                                                                      
✔ parsed manifest, found 1 plugins:                                                                                                                                                                                                          
 → split-monitor-workspaces by Duckonaut version                                                                                                                                                                                             
✔ Hyprland headers OK                                                                                                                                                                                                                        
 → Building split-monitor-workspaces                                                                                                                                                                                                         
✖ Plugin split-monitor-workspaces failed to build.                                                                                                                                                                                           

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/allison/.local/share/hyprpm/headersRoot/share/pkgconfig" meson setup build --wipe         
The Meson build system
Version: 1.3.2
Source dir: /tmp/hyprpm/new
Build dir: /tmp/hyprpm/new/build
Build type: native build
Project name: split-monitor-workspaces
Project version: 0.1
C++ compiler for the host machine: ccache c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20230801")
C++ linker for the host machine: c++ ld.bfd 2.42.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.1.0
Run-time dependency hyprland found: YES 0.36.0
Run-time dependency pixman-1 found: YES 0.43.4
Run-time dependency libdrm found: YES 2.4.120
Build targets in project: 1

Found ninja-1.11.1 at /usr/bin/ninja
                                                
 -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/allison/.local/share/hyprpm/headersRoot/share/pkgconfig" meson compile -C build
ninja: Entering directory `/tmp/hyprpm/new/build'
[1/2] Compiling C++ object libsplit-monitor-workspaces.so.p/src_main.cpp.o
FAILED: libsplit-monitor-workspaces.so.p/src_main.cpp.o 
ccache c++ -Ilibsplit-monitor-workspaces.so.p -I. -I.. -I../include -I/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/protocols -I/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/wlroots -I/home/allison/.local/share/hyprpm/headersRoot/include -I/usr/include/pixman-1 -I/usr/include/libdrm -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -DWLR_USE_UNSTABLE -fPIC -MD -MQ libsplit-monitor-workspaces.so.p/src_main.cpp.o -MF libsplit-monitor-workspaces.so.p/src_main.cpp.o.d -o libsplit-monitor-workspaces.so.p/src_main.cpp.o -c ../src/main.cpp
In file included from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../Window.hpp:8,
                 from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/ConfigManager.hpp:16,
                 from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:10,
                 from ../src/main.cpp:3:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp: In member function ‘virtual std::string CGradientValueData::toString()’:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/config/../config/ConfigDataValues.hpp:64:5: warning: no return statement in function returning non-void [-Wreturn-type]
   64 |     }
      |     ^
In file included from ../src/main.cpp:6:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp: At global scope:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:7:6: error: multiple definition of ‘enum eFullscreenMode’
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
In file included from /home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:24:
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:7:6: note: previous definition here
    7 | enum eFullscreenMode : int8_t {
      |      ^~~~~~~~~~~~~~~
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/helpers/Workspace.hpp:15:7: error: redefinition of ‘class CWorkspace’
   15 | class CWorkspace {
      |       ^~~~~~~~~~
/home/allison/.local/share/hyprpm/headersRoot/include/hyprland/src/desktop/Workspace.hpp:15:7: note: previous definition of ‘class CWorkspace’
   15 | class CWorkspace {
      |       ^~~~~~~~~~
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /tmp/hyprpm/new/build


✔ all plugins built                                                                                                                                                                                                                          
✔ installed repository                                                                                                                                                                                                                       
✔ you can now enable the plugin(s) with hyprpm enable                                                                                                                                                                                        
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Done!

About this issue

  • Original URL
  • State: closed
  • Created 4 months ago
  • Reactions: 11
  • Comments: 18 (1 by maintainers)

Commits related to this issue

Most upvoted comments

if this does not get pushed, just use this plugin: https://github.com/shezdy/hyprsplit

it atleast works.

Im struggling with the exact same issue. Im on arch using hyprland 0.37.1-1