hyprwm / hyprland-plugins

Official plugins for Hyprland
BSD 3-Clause "New" or "Revised" License
459 stars 42 forks source link

compiling hyprexpo on nixos creates a hyprland/header ver mismatch #175

Closed cryptoboy22 closed 1 week ago

cryptoboy22 commented 1 month ago

Hi, I am compiling hyprland plugin hyprexpo. It compiles but fails to initialize complaining (with a red flashing banner and pop up messages) of a version mismatch between the installed hyprland version and headers. I am running nixos. I have followed what it says to do here https://github.com/hyprwm/hyprland-plugins any help would be greatly appreciated.

Dave

vaxerski commented 1 month ago

@fufexan for nix

fufexan commented 1 month ago

In my case it didn't even compile. Probably needs bumping to the latest hl version.

vaxerski commented 1 month ago

expo? I believe it works, I am using it rn

cryptoboy22 commented 1 month ago

expo? I believe it works, I am using it rn

2 people here saying it doesn't work. I want it to!

fufexan commented 1 month ago

hyprexpo_log.txt

cryptoboy22 commented 1 month ago

I had that error before. I found that following what it says on this plugin page results in that error. What do you have in your inputs for hyprland? On this page it says, the git plugin page, it says to have this in the inputs hyprland.url = "github:hyprwm/Hyprland"; but I found that is wrong compared to the hyprland docs. Do you have that? Or do you have this hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; ?? the latter for me results in mismatched headers/

fufexan commented 1 month ago

I have the correct URL, with git+https. Just updated the inputs as well, but it still doesn't compile.

cryptoboy22 commented 1 month ago

I think it is more the ?submodules=1 at the end

fufexan commented 1 month ago

I do have it. Literally cloned the repo, nix flake updated, and did nix build .#hyprexpo -L.

cryptoboy22 commented 1 month ago

yeah you probably know more about this stuff than me.

cryptoboy22 commented 4 weeks ago

I do have it. Literally cloned the repo, nix flake updated, and did nix build .#hyprexpo -L.

Did you have plugins working before? any of them?

fufexan commented 4 weeks ago

I do have it. Literally cloned the repo, nix flake updated, and did nix build .#hyprexpo -L.

Did you have plugins working before? any of them?

I've tested hyprbars and hyprexpo before https://github.com/hyprwm/Hyprland/pull/5999 iirc. They worked fine.

lVentus commented 3 weeks ago

I do have it. Literally cloned the repo, nix flake updated, and did nix build .#hyprexpo -L.

Did you have plugins working before? any of them?

I've tested hyprbars and hyprexpo before hyprwm/Hyprland#5999 iirc. They worked fine.

I do success to compile them, but I also got a red warning, that "failed to oad the following plugings" I found the so in right place in nix store. another thing is, the hyprland version is always

Hyprland, built from branch  at commit  dirty ().
Date: 
Tag: , commits: 

flags: (if any)

I don't know why. I just use unstable pkgs. I didn't override the package. Shouldn't it be 0.40?

fufexan commented 3 weeks ago

Right, that's a known issue https://github.com/NixOS/nixpkgs/issues/317234. Check with a commit from May 4th (release date of 0.40.0).

lVentus commented 3 weeks ago

Right, that's a known issue NixOS/nixpkgs#317234. Check with a commit from May 4th (release date of 0.40.0).

For the version show problem, I will wait for next version. More important problem is, now hyprland on Nixos can't load many plugins .so file.

cryptoboy22 commented 2 weeks ago

Right, that's a known issue NixOS/nixpkgs#317234. Check with a commit from May 4th (release date of 0.40.0).

For the version show problem, I will wait for next version. More important problem is, now hyprland on Nixos can't load many plugins .so file.

so there is just nothing we can do about this? do any plugins compile for you? none i have tried work

fufexan commented 2 weeks ago

@cryptoboy22 on git all plugins build just fine. Should also be fine for 0.41.1. Check its status in Nixpkgs here https://nixpk.gs/pr-tracker.html?pr=319131.

mny3k commented 2 weeks ago

I'm having this same problem, how should we run plugins from NixOS? For me, everything builds just fine, but errors on load with

20240618_00h25m50s_grim 20240618_00h28m30s_grim

Any help would be greatly appreciated, thank you!

fufexan commented 2 weeks ago

It's possible that the compiler differs, since we don't explicitly set which stdenv to be used when building the plugins. Try seeing if you can override the plugin with ...hyprexpo.override { stdenv = pkgs.gcc13Stdenv; };

lVentus commented 2 weeks ago

It's possible that the compiler differs, since we don't explicitly set which stdenv to be used when building the plugins. Try seeing if you can override the plugin with ...hyprexpo.override { stdenv = pkgs.gcc13Stdenv; };

one reason of cant load .so file is the version. I have to use package of master branch, which can load the .so file correctly. When i use a lower version(eg 0.40), I can’t. But you know, 0.41 will cause some hand drawing app crash( xournalpp, rnote…), i have to use 0.40. By the way, when i lock to a specific commit, i found hyprutils and some other packages are removed, why is it? Some plugin needs it to compile.

fufexan commented 2 weeks ago

@lVentus hyprutils is very new, that's why it doesn't exist in 0.40.0. Don't know which plugins need hyprutils, but certainly not the ones in this repo. If a plugin needs it, that's a good sign that you should also pin that plugin to an older commit.

lVentus commented 2 weeks ago

@lVentus hyprutils is very new, that's why it doesn't exist in 0.40.0. Don't know which plugins need hyprutils, but certainly not the ones in this repo. If a plugin needs it, that's a good sign that you should also pin that plugin to an older commit.

is hyprutils newer than 0.41.0? When i lock to 0.41.0 release commit, it is also removed.

fufexan commented 2 weeks ago

Yes, it was only introduced in 0.41.1.

lVentus commented 2 weeks ago

Yes, it was only introduced in 0.41.1.

Ah,ok, thanks

leon-erd commented 1 week ago

I'm having the same problem as @mny3k using hyprexpo. It builds fine but it doesn't load

➜  ~ hyprctl plugin load /nix/store/aqfrikq7c3gkjvljrgzkapsaq5zd3m6c-hyprexpo-0.1/lib/libhyprexpo.so
error in loading plugin, last error: Plugin /nix/store/aqfrikq7c3gkjvljrgzkapsaq5zd3m6c-hyprexpo-0.1/lib/libhyprexpo.so could not be loaded: plugin crashed/threw in main: [he] No fns for hook addDamageEPK4CBox

swappy-20240620_162509

It worked fine before https://github.com/hyprwm/Hyprland/commit/fb15b7aa2a9bba0f0693f84d0c65d386942583f8 I think. I waited until https://github.com/NixOS/nixpkgs/pull/319131 got merged into nixos-unstable to see if this changes anything but it doesnt. Does this bug belong in this issue or should I open a separate one?

cryptoboy22 commented 1 week ago

I'm having the same problem as @mny3k using hyprexpo. It builds fine but it doesn't load

➜  ~ hyprctl plugin load /nix/store/aqfrikq7c3gkjvljrgzkapsaq5zd3m6c-hyprexpo-0.1/lib/libhyprexpo.so
error in loading plugin, last error: Plugin /nix/store/aqfrikq7c3gkjvljrgzkapsaq5zd3m6c-hyprexpo-0.1/lib/libhyprexpo.so could not be loaded: plugin crashed/threw in main: [he] No fns for hook addDamageEPK4CBox

swappy-20240620_162509

It worked fine before hyprwm/Hyprland@fb15b7a I think. I waited until NixOS/nixpkgs#319131 got merged into nixos-unstable to see if this changes anything but it doesnt. Does this bug belong in this issue or should I open a separate one?

thats the version "ver" headers mismatch same as mine. Same issue mate.

cryptoboy22 commented 1 week ago

actually it may be different. Different error. I'll see what mine does now

fufexan commented 1 week ago

Managed to make it build and load, but I'll have to scrap all the derivations for new ones. Will do it tomorrow.

For all of you affected though, here's the quick fix:

  1. clone hyprland-plugins, checkout d92d9d6cd93b731143119cbcab54dcc7a0481131
  2. nix flake lock --override-input hyprland git+https://github.com/hyprwm/hyprland\?submodules=1\&rev=9e781040d9067c2711ec2e9f5b47b76ef70762b3
  3. Apply this patch

    diff --git a/flake.nix b/flake.nix
    index c504d26..425a002 100644
    --- a/flake.nix
    +++ b/flake.nix
    @@ -48,7 +48,7 @@
           borders-plus-plus = callPackage ./borders-plus-plus {};
           csgo-vulkan-fix = callPackage ./csgo-vulkan-fix {};
           hyprbars = callPackage ./hyprbars {};
    -          hyprexpo = callPackage ./hyprexpo {};
    +          hyprexpo = callPackage ./hyprexpo {stdenv = prev.gcc13Stdenv;};
           hyprtrails = callPackage ./hyprtrails {};
           hyprwinwrap = callPackage ./hyprwinwrap {};
         };
    diff --git a/hyprexpo/default.nix b/hyprexpo/default.nix
    index 68d19c6..d93641b 100644
    --- a/hyprexpo/default.nix
    +++ b/hyprexpo/default.nix
    @@ -1,14 +1,18 @@
    {
    lib,
    hyprland,
    -  hyprlandPlugins,
    +  stdenv,
    }:
    -hyprlandPlugins.mkHyprlandPlugin hyprland {
    -  pluginName = "hyprexpo";
    +stdenv.mkDerivation {
    +  pname = "hyprexpo";
    version = "0.1";
    src = ./.;
    
    inherit (hyprland) nativeBuildInputs;
    +  buildInputs = lib.concatLists [
    +    [hyprland]
    +    hyprland.buildInputs
    +  ];
    
    meta = with lib; {
     homepage = "https://github.com/hyprwm/hyprland-plugins";
  4. build
  5. profit
fufexan commented 1 week ago

For anyone running versioned Hyprland (from Nixpkgs), take a look at https://github.com/NixOS/nixpkgs/pull/321575, and test it if you can.

mny3k commented 1 week ago

Managed to make it build and load, but I'll have to scrap all the derivations for new ones. Will do it tomorrow.

For all of you affected though, here's the quick fix:

1. clone hyprland-plugins, checkout [d92d9d6](https://github.com/hyprwm/hyprland-plugins/commit/d92d9d6cd93b731143119cbcab54dcc7a0481131)

2. `nix flake lock --override-input hyprland git+https://github.com/hyprwm/hyprland\?submodules=1\&rev=9e781040d9067c2711ec2e9f5b47b76ef70762b3`

3. Apply this patch
diff --git a/flake.nix b/flake.nix
index c504d26..425a002 100644
--- a/flake.nix
+++ b/flake.nix
@@ -48,7 +48,7 @@
           borders-plus-plus = callPackage ./borders-plus-plus {};
           csgo-vulkan-fix = callPackage ./csgo-vulkan-fix {};
           hyprbars = callPackage ./hyprbars {};
-          hyprexpo = callPackage ./hyprexpo {};
+          hyprexpo = callPackage ./hyprexpo {stdenv = prev.gcc13Stdenv;};
           hyprtrails = callPackage ./hyprtrails {};
           hyprwinwrap = callPackage ./hyprwinwrap {};
         };
diff --git a/hyprexpo/default.nix b/hyprexpo/default.nix
index 68d19c6..d93641b 100644
--- a/hyprexpo/default.nix
+++ b/hyprexpo/default.nix
@@ -1,14 +1,18 @@
 {
   lib,
   hyprland,
-  hyprlandPlugins,
+  stdenv,
 }:
-hyprlandPlugins.mkHyprlandPlugin hyprland {
-  pluginName = "hyprexpo";
+stdenv.mkDerivation {
+  pname = "hyprexpo";
   version = "0.1";
   src = ./.;

   inherit (hyprland) nativeBuildInputs;
+  buildInputs = lib.concatLists [
+    [hyprland]
+    hyprland.buildInputs
+  ];

   meta = with lib; {
     homepage = "https://github.com/hyprwm/hyprland-plugins";
4. build

5. profit

Quick question, should I still apply that patch if I'm not going to be using hyprexpo?

fufexan commented 1 week ago

If you're using it from nixpkgs then no. If you're still using the repo, then yes, as I haven't had time to also update these derivations.

fufexan commented 1 week ago

I'm actually not sure I need to rewrite the derivations anymore, now that we have the plugins in Nixpkgs as well.

leon-erd commented 1 week ago

@fufexan what about this bug https://github.com/hyprwm/hyprland-plugins/issues/175#issuecomment-2180862606? Should I create a separate issue? I think many ppl (me included) are using the git versions of hyprland related stuff. From what I understand the plugins in nixpkgs are only updated along versioned hyprland. Would be great to make the plugins from this repo work as well :)

fufexan commented 1 week ago

@vaxerski do plugins need to be updated to work with hyprutils?

leon-erd commented 1 week ago

I just tried hyprexpo again and now it doesn't even compile anymore.. Apparently helpers/MiscFunctions.hppcannot be found

Build logs ``` hyprexpo> building '/nix/store/5kp9wgarjvyv9dzx8k9zvn8gdv74a31r-hyprexpo-0.1.drv' hyprexpo> Running phase: unpackPhase hyprexpo> unpacking source archive /nix/store/0qyay4pqxxjb6qncjvgcvc28g3bab2dk-hyprexpo hyprexpo> source root is hyprexpo hyprexpo> Running phase: patchPhase hyprexpo> Running phase: updateAutotoolsGnuConfigScriptsPhase hyprexpo> Running phase: configurePhase hyprexpo> fixing cmake files... hyprexpo> cmake flags: -GNinja -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DCMAKE_INSTALL_LOCALEDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/share/doc/hyprexpo -DCMAKE_INSTALL_INFODIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/include -DCMAKE_INSTALL_SBINDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_STRIP=/nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/strip -DCMAKE_RANLIB=/nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/ranlib -DCMAKE_AR=/nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/6ig6jnj4waismhllhms98p9mhjm92m88-hyprexpo-0.1 hyprexpo> -- The C compiler identification is GNU 13.3.0 hyprexpo> -- The CXX compiler identification is GNU 13.3.0 hyprexpo> -- Detecting C compiler ABI info hyprexpo> -- Detecting C compiler ABI info - done hyprexpo> -- Check for working C compiler: /nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/gcc - skipped hyprexpo> -- Detecting C compile features hyprexpo> -- Detecting C compile features - done hyprexpo> -- Detecting CXX compiler ABI info hyprexpo> -- Detecting CXX compiler ABI info - done hyprexpo> -- Check for working CXX compiler: /nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/g++ - skipped hyprexpo> -- Detecting CXX compile features hyprexpo> -- Detecting CXX compile features - done hyprexpo> -- Found PkgConfig: /nix/store/2hfzaqv42iwrpk3ya24cnjsklz6f68lw-pkg-config-wrapper-0.29.2/bin/pkg-config (found version "0.29.2") hyprexpo> -- Checking for modules 'hyprland;libdrm;libinput;libudev;pangocairo;pixman-1;wayland-server;xkbcommon' hyprexpo> -- Found hyprland, version 0.41.1 hyprexpo> -- Found libdrm, version 2.4.120 hyprexpo> -- Found libinput, version 1.25.0 hyprexpo> -- Found libudev, version 255 hyprexpo> -- Found pangocairo, version 1.52.2 hyprexpo> -- Found pixman-1, version 0.43.4 hyprexpo> -- Found wayland-server, version 1.22.0 hyprexpo> -- Found xkbcommon, version 1.7.0 hyprexpo> -- Configuring done (1.0s) hyprexpo> -- Generating done (0.0s) hyprexpo> CMake Warning: hyprexpo> Manually-specified variables were not used by the project: hyprexpo> hyprexpo> BUILD_TESTING hyprexpo> CMAKE_EXPORT_NO_PACKAGE_REGISTRY hyprexpo> CMAKE_INSTALL_BINDIR hyprexpo> CMAKE_INSTALL_DOCDIR hyprexpo> CMAKE_INSTALL_INCLUDEDIR hyprexpo> CMAKE_INSTALL_INFODIR hyprexpo> CMAKE_INSTALL_LIBEXECDIR hyprexpo> CMAKE_INSTALL_LOCALEDIR hyprexpo> CMAKE_INSTALL_MANDIR hyprexpo> CMAKE_INSTALL_OLDINCLUDEDIR hyprexpo> CMAKE_INSTALL_SBINDIR hyprexpo> CMAKE_POLICY_DEFAULT_CMP0025 hyprexpo> hyprexpo> hyprexpo> -- Build files have been written to: /build/hyprexpo/build hyprexpo> cmake: enabled parallel building hyprexpo> cmake: enabled parallel installing hyprexpo> Running phase: buildPhase hyprexpo> build flags: -j8 hyprexpo> [1/4] Building CXX object CMakeFiles/hyprexpo.dir/CMakeFiles/3.29.3/CompilerIdCXX/CMakeCXXCompilerId.cpp.o hyprexpo> [2/4] Building CXX object CMakeFiles/hyprexpo.dir/overview.cpp.o hyprexpo> FAILED: CMakeFiles/hyprexpo.dir/overview.cpp.o hyprexpo> /nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/g++ -Dhyprexpo_EXPORTS -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/protocols -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/wlr -isystem /nix/store/177z07c2gkqvdni3wrv68kxbgxg5jc5j-cairo-1.18.0-dev/include/cairo -isystem /nix/store/2nrdpdpqsi94arfv3xh9pa3ywqpa38ry-glib-2.80.2-dev/include/glib-2.0 -isystem /nix/store/nm9608b5y801fq2p73nl7k80z8kcbmh2-glib-2.80.2/lib/glib-2.0/include -isystem /nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -isystem /nix/store/63b2n1iada8lvmafhrg139dampi819zg-pango-1.52.2-dev/include/pango-1.0 -isystem /nix/store/jw2x10k0lnfw5fqi1962bha7qnd6f6kf-harfbuzz-8.4.0-dev/include/harfbuzz -O3 -DNDEBUG -std=gnu++23 -fPIC -MD -MT CMakeFiles/hyprexpo.dir/overview.cpp.o -MF CMakeFiles/hyprexpo.dir/overview.cpp.o.d -o CMakeFiles/hyprexpo.dir/overview.cpp.o -c /build/hyprexpo/overview.cpp hyprexpo> In file included from /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/Compositor.hpp:25, hyprexpo> from /build/hyprexpo/overview.cpp:5: hyprexpo> /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/desktop/Workspace.hpp:7:10: fatal error: helpers/MiscFunctions.hpp: No such file or directory hyprexpo> 7 | #include "helpers/MiscFunctions.hpp" hyprexpo> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ hyprexpo> compilation terminated. hyprexpo> [3/4] Building CXX object CMakeFiles/hyprexpo.dir/main.cpp.o hyprexpo> FAILED: CMakeFiles/hyprexpo.dir/main.cpp.o hyprexpo> /nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/g++ -Dhyprexpo_EXPORTS -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/protocols -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/wlr -isystem /nix/store/177z07c2gkqvdni3wrv68kxbgxg5jc5j-cairo-1.18.0-dev/include/cairo -isystem /nix/store/2nrdpdpqsi94arfv3xh9pa3ywqpa38ry-glib-2.80.2-dev/include/glib-2.0 -isystem /nix/store/nm9608b5y801fq2p73nl7k80z8kcbmh2-glib-2.80.2/lib/glib-2.0/include -isystem /nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -isystem /nix/store/63b2n1iada8lvmafhrg139dampi819zg-pango-1.52.2-dev/include/pango-1.0 -isystem /nix/store/jw2x10k0lnfw5fqi1962bha7qnd6f6kf-harfbuzz-8.4.0-dev/include/harfbuzz -O3 -DNDEBUG -std=gnu++23 -fPIC -MD -MT CMakeFiles/hyprexpo.dir/main.cpp.o -MF CMakeFiles/hyprexpo.dir/main.cpp.o.d -o CMakeFiles/hyprexpo.dir/main.cpp.o -c /build/hyprexpo/main.cpp hyprexpo> In file included from /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/Compositor.hpp:25, hyprexpo> from /build/hyprexpo/main.cpp:5: hyprexpo> /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/desktop/Workspace.hpp:7:10: fatal error: helpers/MiscFunctions.hpp: No such file or directory hyprexpo> 7 | #include "helpers/MiscFunctions.hpp" hyprexpo> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ hyprexpo> compilation terminated. hyprexpo> ninja: build stopped: subcommand failed. error: builder for '/nix/store/5kp9wgarjvyv9dzx8k9zvn8gdv74a31r-hyprexpo-0.1.drv' failed with exit code 1; last 10 log lines: > [3/4] Building CXX object CMakeFiles/hyprexpo.dir/main.cpp.o > FAILED: CMakeFiles/hyprexpo.dir/main.cpp.o > /nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/g++ -Dhyprexpo_EXPORTS -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/protocols -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/wlr -isystem /nix/store/177z07c2gkqvdni3wrv68kxbgxg5jc5j-cairo-1.18.0-dev/include/cairo -isystem /nix/store/2nrdpdpqsi94arfv3xh9pa3ywqpa38ry-glib-2.80.2-dev/include/glib-2.0 -isystem /nix/store/nm9608b5y801fq2p73nl7k80z8kcbmh2-glib-2.80.2/lib/glib-2.0/include -isystem /nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -isystem /nix/store/63b2n1iada8lvmafhrg139dampi819zg-pango-1.52.2-dev/include/pango-1.0 -isystem /nix/store/jw2x10k0lnfw5fqi1962bha7qnd6f6kf-harfbuzz-8.4.0-dev/include/harfbuzz -O3 -DNDEBUG -std=gnu++23 -fPIC -MD -MT CMakeFiles/hyprexpo.dir/main.cpp.o -MF CMakeFiles/hyprexpo.dir/main.cpp.o.d -o CMakeFiles/hyprexpo.dir/main.cpp.o -c /build/hyprexpo/main.cpp > In file included from /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/Compositor.hpp:25, > from /build/hyprexpo/main.cpp:5: > /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/desktop/Workspace.hpp:7:10: fatal error: helpers/MiscFunctions.hpp: No such file or directory > 7 | #include "helpers/MiscFunctions.hpp" > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > compilation terminated. > ninja: build stopped: subcommand failed. For full logs, run 'nix log /nix/store/5kp9wgarjvyv9dzx8k9zvn8gdv74a31r-hyprexpo-0.1.drv'. error: 1 dependencies of derivation '/nix/store/gf6wgm30x7czj50c5n95hps70wzbas9c-hm_hyprhyprland.conf.drv' failed to build error: 1 dependencies of derivation '/nix/store/w5kwy6f0hwml4gdb9hwyy2npr5zkgqlp-activation-script.drv' failed to build error: 1 dependencies of derivation '/nix/store/0x9aj2dxblvk0hzrzgsldv64h0bvsa96-home-manager-generation.drv' failed to build ┏━ 1 Errors: ┃ error: builder for '/nix/store/5kp9wgarjvyv9dzx8k9zvn8gdv74a31r-hyprexpo-0.1.drv' failed with exit code 1; ┃ last 10 log lines: ┃ > [3/4] Building CXX object CMakeFiles/hyprexpo.dir/main.cpp.o ┃ > FAILED: CMakeFiles/hyprexpo.dir/main.cpp.o ┃ > /nix/store/mpm3i0sbqc9svfch6a17179fs64dz2kv-gcc-wrapper-13.3.0/bin/g++ -Dhyprexpo_EXPORTS -isystem /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22… ┃ > In file included from /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/Compositor.hpp:25, ┃ > from /build/hyprexpo/main.cpp:5: ┃ > /nix/store/flsa7rh2ihbbbfzi0fi8r0v8hy3w3gis-hyprland-0.41.1+date=2024-06-22_7f09646-dev/include/hyprland/src/desktop/Workspace.hpp:7:10: fatal error: helpers/MiscFunctions.hp… ┃ > 7 | #include "helpers/MiscFunctions.hpp" ┃ > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ┃ > compilation terminated. ┃ > ninja: build stopped: subcommand failed. ┃ For full logs, run 'nix log /nix/store/5kp9wgarjvyv9dzx8k9zvn8gdv74a31r-hyprexpo-0.1.drv'. ```
fufexan commented 1 week ago

Yeah some changes were made upstream, I'll try to fix it later.

fufexan commented 1 week ago

Should be fixed with dbd1f37, let me know.

leon-erd commented 1 week ago

Now it compiles again but I'm getting the previous error https://github.com/hyprwm/hyprland-plugins/issues/175#issuecomment-2180862606

➜  ~ hyprctl plugin load /nix/store/cs81wyq9dznbbjcfj21lryivk03r0mh9-hyprexpo-0.1/lib/libhyprexpo.so
error in loading plugin, last error: Plugin /nix/store/cs81wyq9dznbbjcfj21lryivk03r0mh9-hyprexpo-0.1/lib/libhyprexpo.so could not be loaded: plugin crashed/threw in main: [he] No fns for hook addDamageEPK4CBox

image

fufexan commented 1 week ago

Try with 135de7b.

leon-erd commented 1 week ago

Yup works now! :partying_face: Thanks