outfoxxed / hy3

Hyprland plugin for an i3 / sway like manual tiling layout
GNU General Public License v3.0
391 stars 32 forks source link

hy3 fails to build on Fedora 40, hyprland 0.39.1, gcc 14.1.1 #128

Open hlmtre opened 6 days ago

hlmtre commented 6 days ago

Howdy! Excited to try hy3. Running into a build issue against tagged version 0.39.1, which matches hyprctl version.

-> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/hlmtre/.local/share/hyprpm/headersRoot/share/pkgconfig" cmake --build build
[ 14%] Building CXX object CMakeFiles/hy3.dir/src/main.cpp.o
[ 28%] Building CXX object CMakeFiles/hy3.dir/src/dispatchers.cpp.o
/tmp/hyprpm/new/src/dispatchers.cpp: In function ‘int workspace_for_action(bool)’:
/tmp/hyprpm/new/src/dispatchers.cpp:12:59: error: cannot convert ‘PHLWORKSPACE’ {aka ‘std::shared_ptr<CWorkspace>’} to ‘int’ in initialization
   12 |         int workspace_id = g_pCompositor->m_pLastMonitor->activeWorkspace;
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
      |                                                           |
      |                                                           PHLWORKSPACE {aka std::shared_ptr<CWorkspace>}
/tmp/hyprpm/new/src/dispatchers.cpp:15:58: error: unable to deduce ‘auto*’ from ‘CCompositor::getWorkspaceByID(const int&)(workspace_id)’
   15 |         auto* workspace = g_pCompositor->getWorkspaceByID(workspace_id);
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/tmp/hyprpm/new/src/dispatchers.cpp:15:71: note:   mismatched types ‘auto*’ and ‘std::shared_ptr<CWorkspace>’
   15 |         auto* workspace = g_pCompositor->getWorkspaceByID(workspace_id);
      |                                                                       ^
gmake[2]: *** [CMakeFiles/hy3.dir/build.make:90: CMakeFiles/hy3.dir/src/dispatchers.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/hy3.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

✖ Plugin hy3 failed to build.
  This likely means that the plugin is either outdated, not yet available for your version, or broken.
  If you are on -git, update first.
  Try re-running with -v to see more verbose output.

I fully expect I'm doing something stupid here (probably with mismatched versions of something), but I don't have enough expertise in the hyprland world or with C to match up all my versions.

Any help would be appreciated!