Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hy3 listed for 0.42.0 does not build on 0.42.0 #136

Open
zetaPRIME opened this issue Aug 12, 2024 · 3 comments
Open

hy3 listed for 0.42.0 does not build on 0.42.0 #136

zetaPRIME opened this issue Aug 12, 2024 · 3 comments

Comments

@zetaPRIME
Copy link

I'm currently stuck on i3 because my setup is completely reliant on hy3, and hyprpm no longer works at all on 0.41.x; I gave it another try due to the commit, but:

In file included from /tmp/hyprpm/zetaprime/src/globals.hpp:9,
                 from /tmp/hyprpm/zetaprime/src/main.cpp:7:
/tmp/hyprpm/zetaprime/src/Hy3Layout.hpp:78:14: error: ‘void Hy3Layout::recalculateMonitor(const int&)’ marked ‘override’, but does not override
   78 |         void recalculateMonitor(const int& monitor_id) override;
      |              ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14.2.1/memory:78,
                 from /home/zetaprime/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:3,
                 from /tmp/hyprpm/zetaprime/src/main.cpp:1:
/usr/include/c++/14.2.1/bits/unique_ptr.h: In instantiation of ‘constexpr std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = Hy3Layout; _Args = {}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t<Hy3Layout>]’:
/tmp/hyprpm/zetaprime/src/main.cpp:68:43:   required from here
   68 |         g_Hy3Layout = std::make_unique<Hy3Layout>();
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/14.2.1/bits/unique_ptr.h:1076:30: error: invalid new-expression of abstract class type ‘Hy3Layout’
 1076 |     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyprpm/zetaprime/src/Hy3Layout.hpp:71:7: note:   because the following virtual functions are pure within ‘Hy3Layout’:
   71 | class Hy3Layout: public IHyprLayout {
      |       ^~~~~~~~~
In file included from /home/zetaprime/.local/share/hyprpm/headersRoot/include/hyprland/src/managers/../layout/DwindleLayout.hpp:3,
                 from /home/zetaprime/.local/share/hyprpm/headersRoot/include/hyprland/src/managers/LayoutManager.hpp:3,
                 from /home/zetaprime/.local/share/hyprpm/headersRoot/include/hyprland/src/Compositor.hpp:15:
/home/zetaprime/.local/share/hyprpm/headersRoot/include/hyprland/src/managers/../layout/IHyprLayout.hpp:66:18: note:     ‘virtual void IHyprLayout::recalculateMonitor(const MONITORID&)’
   66 |     virtual void recalculateMonitor(const MONITORID&) = 0;
      |                  ^~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/hy3.dir/build.make:76: CMakeFiles/hy3.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/hy3.dir/all] Error 2
make: *** [Makefile:136: all] Error 2



✖ Plugin hy3 failed to build.```
@outfoxxed
Copy link
Owner

Are you sure you're building for 0.42.0 and not -git? -git is currently broken, but I just recompiled 0.42.0 and its fine.

@zetaPRIME
Copy link
Author

huh. it was -git but I checked commits and I thought it was the same commit as 42.0 release

@justend29
Copy link

Just 4 days ago, Hyprland changed the signature of recalculateMonitor to void IHyprLayout::recalculateMonitor(const MONITORID&), where MONITORID is a typedef for int64_t, not int any more. This signature change is present in the -git variant of the package but not the official release.

@outfoxxed can correct me if I'm wrong, but I believe a Hy3 change would be needed, but only once the Hyprland signature changes are rolled out as an official release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants