DreamMaoMao / hycov

hyprland overview mode plugin,a new tile window workflow
MIT License
336 stars 29 forks source link

Failed to load libhycov.so #79

Closed bratfizyk closed 9 months ago

bratfizyk commented 9 months ago

Hello,

I've just tried importing hycov via my home.nix. It all compiled, but I get a message "Unable to load plugin /nix/store/za95dh8kb8b4wl65140jsfzxxypfx205-hycov-0.1/lib/libhycov.so".

I've found hyprland logs and they say this:

[LOG] Loading plugin /nix/store/za95dh8kb8b4wl65140jsfzxxypfx205-hycov-0.1/lib/libhycov.so which is now present in config
[ERR]  [PluginSystem] Plugin /nix/store/za95dh8kb8b4wl65140jsfzxxypfx205-hycov-0.1/lib/libhycov.so could not be loaded: /nix/store/za95dh8kb8b4wl65140jsfzxxypfx205-hycov-0.1/lib/libhycov.so: undefined symbol: _ZN13CRenderbufferD1Ev

Do you have an idea what is this undefined symbol _ZN13CRenderbufferD1Ev?

My entire configuration is here. Relevant parts:

DreamMaoMao commented 9 months ago

Sorry, I don't know much about nix, but the flake example in readme is available to most people

Your environment seems chaotic, you have to make sure that the hyprland execution file is consistent with its header file, and then make sure that you recompile hycov every time hyprland is updated

bratfizyk commented 9 months ago

Hi there,

Thanks for quick response. Here's an update from my side.

Sorry, I don't know much about nix, but the flake example in readme is available to most people

Yes, I found it. And that's what I used to update my flake.nix. Thanks for confirming that it works for others.

(...) you have to make sure that the hyprland execution file is consistent with its header file

I guess you meant C++ files. I'm not that fluent with C++, but this gave me an idea what could be wrong. The flake example you put in README uses unstable, while my flake was pointing at 23.11 and I only used unstable in few other inputs, including hyprland. Looks like this was insufficient, as migrating the system to unstable did the trick.

then make sure that you recompile hycov every time hyprland is updated

Fingers crossed the flake handles this for me.

Your environment seems chaotic

I dare to disagree, but that's not important here ;).

BenMac31 commented 9 months ago

Switching the entire system over to unstable is not necessary, you just need to have hyprland use the official flake version instead of the system version.

EX:

wayland.windowManager.hyprland.package = hyprland.packages."${pkgs.system}".hyprland;