uowuo/abaddon

Error building on Devuan x86

ScarlettPPC opened this issue · 2 comments

I'm trying to build it on a Pentium M machine running Devuan Linux but I get stuck here:

[ 43%] Building CXX object CMakeFiles/abaddon.dir/src/components/channeltabswitcherhandy.cpp.o
In file included from  /home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:3:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:34:20: error: ‘HdyTabPage’ has not been declared
   34 |     void ClearPage(HdyTabPage *page);
      |                    ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:35:25: error: ‘HdyTabPage’ has not been declared
   35 |     void OnPageIconLoad(HdyTabPage *page, const Glib::RefPtr<Gdk::Pixbuf> &pb);
      |                         ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:36:24: error: ‘HdyTabPage’ has not been declared
   36 |     void CheckPageIcon(HdyTabPage *page, const ChannelData &data);
      |                        ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:37:28: error: ‘HdyTabPage’ has not been declared
   37 |     void AppendPageHistory(HdyTabPage *page, Snowflake channel);
      |                            ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:42:5: error: ‘HdyTabBar’ does not name a type; did you mean ‘HdyTitleBar’?
   42 |     HdyTabBar *m_tab_bar;
      |     ^~~~~~~~~
      |     HdyTitleBar
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:44:5: error: ‘HdyTabView’ does not name a type
   44 |     HdyTabView *m_tab_view;
      |     ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:47:35: error: ‘HdyTabPage’ was not declared in this scope
   47 |     std::unordered_map<Snowflake, HdyTabPage *> m_pages;
      |                                   ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:47:47: error: template argument 2 is invalid
   47 |     std::unordered_map<Snowflake, HdyTabPage *> m_pages;
      |                                               ^
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:47:47: error: template argument 5 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:48:24: error: ‘HdyTabPage’ was not declared in this scope
   48 |     std::unordered_map<HdyTabPage *, Snowflake> m_pages_rev;
      |                        ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:48:47: error: template argument 1 is invalid
   48 |     std::unordered_map<HdyTabPage *, Snowflake> m_pages_rev;
      |                                               ^
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:48:47: error: template argument 3 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:48:47: error: template argument 4 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:48:47: error: template argument 5 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:50:24: error: ‘HdyTabPage’ was not declared in this scope
   50 |     std::unordered_map<HdyTabPage *, Glib::RefPtr<Gdk::Pixbuf>> m_page_icons;
      |                        ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:50:62: error: template argument 1 is invalid
   50 |    std::unordered_map<HdyTabPage *, Glib::RefPtr<Gdk::Pixbuf>> m_page_icons;
      |                                                             ^~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:50:62: error: template argument 3 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:50:62: error: template argument 4 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:50:62: error: template argument 5 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:57:24: error: ‘HdyTabPage’ was not declared in this scope
   57 |     std::unordered_map<HdyTabPage *, PageHistory> m_page_history;
      |                        ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:57:49: error: template argument 1 is invalid
   57 |     std::unordered_map<HdyTabPage *, PageHistory> m_page_history;
      |                                                 ^
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:57:49: error: template argument 3 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:57:49: error: template argument 4 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:57:49: error: template argument 5 is invalid
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:59:41: error: ‘HdyTabView’ has not been declared
   59 |     friend void selected_page_notify_cb(HdyTabView *, GParamSpec *, ChannelTabSwitcherHandy *);
      |                                         ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:60:35: error: ‘HdyTabView’ has not been declared
   60 |     friend gboolean close_page_cb(HdyTabView *, HdyTabPage *, ChannelTabSwitcherHandy *);
      |                                   ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:60:49: error: ‘HdyTabPage’ has not been declared
   60 |     friend gboolean close_page_cb(HdyTabView *, HdyTabPage *, ChannelTabSwitcherHandy *);
      |                                                 ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:5:6: error: variable or field ‘selected_page_notify_cb’ declared void
    5 | void selected_page_notify_cb(HdyTabView *view, GParamSpec *pspec, ChannelTabSwitcherHandy *switcher) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:5:30: error: ‘HdyTabView’ was not declared in this scope
    5 | void selected_page_notify_cb(HdyTabView *view, GParamSpec *pspec, ChannelTabSwitcherHandy *switcher) {
      |                              ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:5:42: error: ‘view’ was not declared in this scope
    5 | void selected_page_notify_cb(HdyTabView *view, GParamSpec *pspec, ChannelTabSwitcherHandy *switcher) {
      |                                          ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:5:59: error: expected primary-expression before ‘*’ token
    5 | void selected_page_notify_cb(HdyTabView *view, GParamSpec *pspec, ChannelTabSwitcherHandy *switcher) {
      |                                                           ^
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:5:60: error: ‘pspec’ was not declared in this scope
    5 | void selected_page_notify_cb(HdyTabView *view, GParamSpec *pspec, ChannelTabSwitcherHandy *switcher) {
      |                                                            ^~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:5:91: error: expected primary-expression before ‘*’ token
    5 | dyTabView *view, GParamSpec *pspec, ChannelTabSwitcherHandy *switcher) {
      |                                                             ^

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:5:92: error: ‘switcher’ was not declared in this scope
    5 | yTabView *view, GParamSpec *pspec, ChannelTabSwitcherHandy *switcher) {
      |                                                             ^~~~~~~~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:12:24: error: ‘gboolean close_page_cb’ redeclared as different kind of entity
   12 | gboolean close_page_cb(HdyTabView *view, HdyTabPage *page, ChannelTabSwitcherHandy *switcher) {
      |                        ^~~~~~~~~~
In file included from /home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:3:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.hpp:60:21: note: previous declaration ‘gboolean close_page_cb(int*, int*, ChannelTabSwitcherHandy*)’
   60 |     friend gboolean close_page_cb(HdyTabView *, HdyTabPage *, ChannelTabSwitcherHandy *);
      |                     ^~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:12:24: error: ‘HdyTabView’ was not declared in this scope
   12 | gboolean close_page_cb(HdyTabView *view, HdyTabPage *page, ChannelTabSwitcherHandy *switcher) {
      |                        ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:12:36: error: ‘view’ was not declared in this scope
   12 | gboolean close_page_cb(HdyTabView *view, HdyTabPage *page, ChannelTabSwitcherHandy *switcher) {
      |                                    ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:12:42: error: ‘HdyTabPage’ was not declared in this scope
   12 | gboolean close_page_cb(HdyTabView *view, HdyTabPage *page, ChannelTabSwitcherHandy *switcher) {
      |                                          ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:12:54: error: ‘page’ was not declared in this scope
   12 | gboolean close_page_cb(HdyTabView *view, HdyTabPage *page, ChannelTabSwitcherHandy *switcher) {
      |                                                      ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:12:84: error: expected primary-expression before ‘*’ token
   12 | HdyTabView *view, HdyTabPage *page, ChannelTabSwitcherHandy *switcher) {
      |                                                             ^

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:12:85: error: ‘switcher’ was not declared in this scope
   12 | dyTabView *view, HdyTabPage *page, ChannelTabSwitcherHandy *switcher) {
      |                                                             ^~~~~~~~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In constructor ‘ChannelTabSwitcherHandy::ChannelTabSwitcherHandy()’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:19:5: error: ‘m_tab_bar’ was not declared in this scope
   19 |     m_tab_bar = hdy_tab_bar_new();
      |     ^~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:19:17: error: ‘hdy_tab_bar_new’ was not declared in this scope; did you mean ‘hdy_title_bar_new’?
   19 |     m_tab_bar = hdy_tab_bar_new();
      |                 ^~~~~~~~~~~~~~~
      |                 hdy_title_bar_new
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:21:5: error: ‘m_tab_view’ was not declared in this scope
   21 |     m_tab_view = hdy_tab_view_new();
      |     ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:21:18: error: ‘hdy_tab_view_new’ was not declared in this scope
   21 |     m_tab_view = hdy_tab_view_new();
      |                  ^~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:28,
                 from /usr/include/glib-2.0/gobject/gbinding.h:29,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glibmm-2.4/glibmm/value.h:24,
                 from /usr/include/glibmm-2.4/glibmm/error.h:22,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:48,
                 from /usr/include/glibmm-2.4/glibmm.h:88,
                 from /usr/include/gtkmm-3.0/gtkmm.h:87,
                 from /home/scarlett/abaddon/build/CMakeFiles/abaddon.dir/cmake_pch.hxx:5,
                 from <command-line>:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:26:70: error: ‘selected_page_notify_cb’ was not declared in this scope
   26 | nal_connect(m_tab_view, "notify::selected-page", G_CALLBACK(selected_page_notify_cb), this);
      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:27:59: error: ‘close_page_cb’ was not declared in this scope
   27 |     g_signal_connect(m_tab_view, "close-page", G_CALLBACK(close_page_cb), this);
      |                                                           ^~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:29:5: error: ‘hdy_tab_bar_set_view’ was not declared in this scope
   29 |     hdy_tab_bar_set_view(m_tab_bar, m_tab_view);
      |     ^~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::AddChannelTab(Snowflake)’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:46:17: error: request for member ‘find’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
   46 |     if (m_pages.find(id) != m_pages.end()) return;
      |                 ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:46:37: error: request for member ‘end’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
   46 |     if (m_pages.find(id) != m_pages.end()) return;
      |                                     ^~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:53:38: error: ‘m_tab_view’ was not declared in this scope
   53 |     auto *page = hdy_tab_view_append(m_tab_view, GTK_WIDGET(dummy->gobj()));
      |                                      ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:53:18: error: ‘hdy_tab_view_append’ was not declared in this scope; did you mean ‘m_tab_view_wrapped’?
   53 |     auto *page = hdy_tab_view_append(m_tab_view, GTK_WIDGET(dummy->gobj()));
      |                  ^~~~~~~~~~~~~~~~~~~
      |                  m_tab_view_wrapped
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:55:5: error: ‘hdy_tab_page_set_title’ was not declared in this scope; did you mean ‘hdy_header_bar_set_title’?
   55 |     hdy_tab_page_set_title(page, channel->GetDisplayName().c_str());
      |     ^~~~~~~~~~~~~~~~~~~~~~
      |     hdy_header_bar_set_title
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:56:5: error: ‘hdy_tab_page_set_tooltip’ was not declared in this scope
   56 |     hdy_tab_page_set_tooltip(page, nullptr);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:58:12: error: no match for ‘operator[]’ (operand types are ‘int’ and ‘Snowflake’)
   58 |     m_pages[id] = page;
      |            ^
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::ReplaceActiveTab(Snowflake)’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:67:49: error: ‘m_tab_view’ was not declared in this scope
   67 |     auto *page = hdy_tab_view_get_selected_page(m_tab_view);
      |                                                 ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:67:18: error: ‘hdy_tab_view_get_selected_page’ was not declared in this scope; did you mean ‘hdy_combo_row_get_selected_index’?
   67 |     auto *page = hdy_tab_view_get_selected_page(m_tab_view);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  hdy_combo_row_get_selected_index
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:70:34: error: request for member ‘find’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
   70 |     } else if (auto it = m_pages.find(id); it != m_pages.end()) {
      |                                  ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:70:58: error: request for member ‘end’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
   70 |     } else if (auto it = m_pages.find(id); it != m_pages.end()) {
      |                                                          ^~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:71:9: error: ‘hdy_tab_view_set_selected_page’ was not declared in this scope; did you mean ‘hdy_combo_row_set_selected_index’?
   71 |         hdy_tab_view_set_selected_page(m_tab_view, it->second);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         hdy_combo_row_set_selected_index
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:77:9: error: ‘hdy_tab_page_set_title’ was not declared in this scope; did you mean ‘hdy_header_bar_set_title’?
   77 |         hdy_tab_page_set_title(page, channel->GetDisplayName().c_str());
      |         ^~~~~~~~~~~~~~~~~~~~~~
      |         hdy_header_bar_set_title
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:80:16: error: no match for ‘operator[]’ (operand types are ‘int’ and ‘Snowflake’)
   80 |         m_pages[id] = page;
      |                ^
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘TabsState ChannelTabSwitcherHandy::GetTabsState()’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:92:53: error: ‘m_tab_view’ was not declared in this scope
   92 |     const gint num_pages = hdy_tab_view_get_n_pages(m_tab_view);
      |                                                     ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:92:28: error: ‘hdy_tab_view_get_n_pages’ was not declared in this scope; did you mean ‘hdy_carousel_get_n_pages’?
   92 |     const gint num_pages = hdy_tab_view_get_n_pages(m_tab_view);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~
      |                            hdy_carousel_get_n_pages
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:94:22: error: ‘hdy_tab_view_get_nth_page’ was not declared in this scope
   94 |         auto *page = hdy_tab_view_get_nth_page(m_tab_view, i);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:96:45: error: request for member ‘find’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages_rev’, which is of non-class type ‘int’
   96 |             if (const auto it = m_pages_rev.find(page); it != m_pages_rev.end()) {
      |                                             ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:96:75: error: request for member ‘end’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages_rev’, which is of non-class type ‘int’
   96 |  if (const auto it = m_pages_rev.find(page); it != m_pages_rev.end()) {
      |                                                                ^~~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::GoToPreviousTab()’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:120:44: error: ‘m_tab_view’ was not declared in this scope
  120 |     if (!hdy_tab_view_select_previous_page(m_tab_view)) {
      |                                            ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:120:10: error: ‘hdy_tab_view_select_previous_page’ was not declared in this scope
  120 |     if (!hdy_tab_view_select_previous_page(m_tab_view)) {
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:121:36: error: ‘hdy_tab_view_get_n_pages’ was not declared in this scope; did you mean ‘hdy_carousel_get_n_pages’?
  121 |         if (const auto num_pages = hdy_tab_view_get_n_pages(m_tab_view); num_pages > 1) {
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                    hdy_carousel_get_n_pages
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:122:56: error: ‘hdy_tab_view_get_nth_page’ was not declared in this scope
  122 |             hdy_tab_view_set_selected_page(m_tab_view, hdy_tab_view_get_nth_page(m_tab_view, num_pages - 1));
      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:122:13: error: ‘hdy_tab_view_set_selected_page’ was not declared in this scope; did you mean ‘hdy_combo_row_set_selected_index’?
  122 |             hdy_tab_view_set_selected_page(m_tab_view, hdy_tab_view_get_nth_page(m_tab_view, num_pages - 1));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             hdy_combo_row_set_selected_index
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::GoToNextTab()’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:128:40: error: ‘m_tab_view’ was not declared in this scope
  128 |     if (!hdy_tab_view_select_next_page(m_tab_view)) {
      |                                        ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:128:10: error: ‘hdy_tab_view_select_next_page’ was not declared in this scope
  128 |     if (!hdy_tab_view_select_next_page(m_tab_view)) {
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:129:13: error: ‘hdy_tab_view_get_n_pages’ was not declared in this scope; did you mean ‘hdy_carousel_get_n_pages’?
  129 |         if (hdy_tab_view_get_n_pages(m_tab_view) > 1) {
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
      |             hdy_carousel_get_n_pages
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:130:56: error: ‘hdy_tab_view_get_nth_page’ was not declared in this scope
  130 |             hdy_tab_view_set_selected_page(m_tab_view, hdy_tab_view_get_nth_page(m_tab_view, 0));
      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:130:13: error: ‘hdy_tab_view_set_selected_page’ was not declared in this scope; did you mean ‘hdy_combo_row_set_selected_index’?
  130 |             hdy_tab_view_set_selected_page(m_tab_view, hdy_tab_view_get_nth_page(m_tab_view, 0));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             hdy_combo_row_set_selected_index
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::GoToTab(int)’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:136:34: error: ‘m_tab_view’ was not declared in this scope
  136 |     if (hdy_tab_view_get_n_pages(m_tab_view) >= idx + 1)
      |                                  ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:136:9: error: ‘hdy_tab_view_get_n_pages’ was not declared in this scope; did you mean ‘hdy_carousel_get_n_pages’?
  136 |     if (hdy_tab_view_get_n_pages(m_tab_view) >= idx + 1)
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
      |         hdy_carousel_get_n_pages
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:137:52: error: ‘hdy_tab_view_get_nth_page’ was not declared in this scope
  137 |         hdy_tab_view_set_selected_page(m_tab_view, hdy_tab_view_get_nth_page(m_tab_view, idx));
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:137:9: error: ‘hdy_tab_view_set_selected_page’ was not declared in this scope; did you mean ‘hdy_combo_row_set_selected_index’?
  137 |         hdy_tab_view_set_selected_page(m_tab_view, hdy_tab_view_get_nth_page(m_tab_view, idx));
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         hdy_combo_row_set_selected_index
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘int ChannelTabSwitcherHandy::GetNumberOfTabs() const’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:141:37: error: ‘m_tab_view’ was not declared in this scope
  141 |     return hdy_tab_view_get_n_pages(m_tab_view);
      |                                     ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:141:12: error: ‘hdy_tab_view_get_n_pages’ was not declared in this scope; did you mean ‘hdy_carousel_get_n_pages’?
  141 |     return hdy_tab_view_get_n_pages(m_tab_view);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~
      |            hdy_carousel_get_n_pages
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::CheckUnread(Snowflake)’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:145:27: error: request for member ‘find’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
  145 |     if (auto it = m_pages.find(id); it != m_pages.end()) {
      |                           ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:145:51: error: request for member ‘end’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
  145 |     if (auto it = m_pages.find(id); it != m_pages.end()) {
      |                                                   ^~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:149:9: error: ‘hdy_tab_page_set_needs_attention’ was not declared in this scope
  149 |         hdy_tab_page_set_needs_attention(it->second, show_indicator);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: At global scope:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:153:6: error: variable or field ‘ClearPage’ declared void
  153 | void ChannelTabSwitcherHandy::ClearPage(HdyTabPage *page) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:153:41: error: ‘HdyTabPage’ was not declared in this scope
  153 | void ChannelTabSwitcherHandy::ClearPage(HdyTabPage *page) {
      |                                         ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:153:53: error: ‘page’ was not declared in this scope
  153 | void ChannelTabSwitcherHandy::ClearPage(HdyTabPage *page) {
      |                                                     ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:161:6: error: variable or field ‘OnPageIconLoad’ declared void
  161 | void ChannelTabSwitcherHandy::OnPageIconLoad(HdyTabPage *page, const Glib::RefPtr<Gdk::Pixbuf> &pb) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:161:46: error: ‘HdyTabPage’ was not declared in this scope
  161 | void ChannelTabSwitcherHandy::OnPageIconLoad(HdyTabPage *page, const Glib::RefPtr<Gdk::Pixbuf> &pb) {
      |                                              ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:161:58: error: ‘page’ was not declared in this scope
  161 | void ChannelTabSwitcherHandy::OnPageIconLoad(HdyTabPage *page, const Glib::RefPtr<Gdk::Pixbuf> &pb) {
      |                                                          ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:161:64: error: expected primary-expression before ‘const’
  161 | d ChannelTabSwitcherHandy::OnPageIconLoad(HdyTabPage *page, const Glib::RefPtr<Gdk::Pixbuf> &pb) {
      |                                                             ^~~~~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:167:6: error: variable or field ‘CheckPageIcon’ declared void
  167 | void ChannelTabSwitcherHandy::CheckPageIcon(HdyTabPage *page, const ChannelData &data) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:167:45: error: ‘HdyTabPage’ was not declared in this scope
  167 | void ChannelTabSwitcherHandy::CheckPageIcon(HdyTabPage *page, const ChannelData &data) {
      |                                             ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:167:57: error: ‘page’ was not declared in this scope
  167 | void ChannelTabSwitcherHandy::CheckPageIcon(HdyTabPage *page, const ChannelData &data) {
      |                                                         ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:167:63: error: expected primary-expression before ‘const’
  167 | id ChannelTabSwitcherHandy::CheckPageIcon(HdyTabPage *page, const ChannelData &data) {
      |                                                             ^~~~~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:194:6: error: variable or field ‘AppendPageHistory’ declared void
  194 | void ChannelTabSwitcherHandy::AppendPageHistory(HdyTabPage *page, Snowflake channel) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:194:49: error: ‘HdyTabPage’ was not declared in this scope
  194 | void ChannelTabSwitcherHandy::AppendPageHistory(HdyTabPage *page, Snowflake channel) {
      |                                                 ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:194:61: error: ‘page’ was not declared in this scope
  194 | void ChannelTabSwitcherHandy::AppendPageHistory(HdyTabPage *page, Snowflake channel) {
      |                                                             ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:194:77: error: expected primary-expression before ‘channel’
  194 | SwitcherHandy::AppendPageHistory(HdyTabPage *page, Snowflake channel) {
      |                                                              ^~~~~~~

/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::AdvanceOnCurrent(size_t)’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:207:52: error: ‘m_tab_view’ was not declared in this scope
  207 |     auto *current = hdy_tab_view_get_selected_page(m_tab_view);
      |                                                    ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:207:21: error: ‘hdy_tab_view_get_selected_page’ was not declared in this scope; did you mean ‘hdy_combo_row_get_selected_index’?
  207 |     auto *current = hdy_tab_view_get_selected_page(m_tab_view);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     hdy_combo_row_get_selected_index
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:209:35: error: request for member ‘find’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_page_history’, which is of non-class type ‘int’
  209 |     auto history = m_page_history.find(current);
      |                                   ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:210:35: error: request for member ‘end’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_page_history’, which is of non-class type ‘int’
  210 |     if (history == m_page_history.end()) return;
      |                                   ^~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:222:30: error: request for member ‘find’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_page_history’, which is of non-class type ‘int’
  222 |     history = m_page_history.find(current);
      |                              ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:223:35: error: request for member ‘end’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_page_history’, which is of non-class type ‘int’
  223 |     if (history != m_page_history.end()) {
      |                                   ^~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp: In member function ‘void ChannelTabSwitcherHandy::OnChannelAccessibilityChanged(Snowflake, bool)’:
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:231:27: error: request for member ‘find’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
  231 |     if (auto it = m_pages.find(id); it != m_pages.end()) {
      |                           ^~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:231:51: error: request for member ‘end’ in ‘((ChannelTabSwitcherHandy*)this)->ChannelTabSwitcherHandy::m_pages’, which is of non-class type ‘int’
  231 |     if (auto it = m_pages.find(id); it != m_pages.end()) {
      |                                                   ^~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:232:13: error: ‘hdy_tab_page_get_selected’ was not declared in this scope
  232 |         if (hdy_tab_page_get_selected(it->second))
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:233:52: error: ‘m_tab_view’ was not declared in this scope
  233 |             if (!hdy_tab_view_select_previous_page(m_tab_view))
      |                                                    ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:233:18: error: ‘hdy_tab_view_select_previous_page’ was not declared in this scope
  233 |             if (!hdy_tab_view_select_previous_page(m_tab_view))
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:234:17: error: ‘hdy_tab_view_select_next_page’ was not declared in this scope
  234 |                 hdy_tab_view_select_next_page(m_tab_view);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:236:33: error: ‘m_tab_view’ was not declared in this scope
  236 |         hdy_tab_view_close_page(m_tab_view, it->second);
      |                                 ^~~~~~~~~~
/home/scarlett/abaddon/src/components/channeltabswitcherhandy.cpp:236:9: error: ‘hdy_tab_view_close_page’ was not declared in this scope
  236 |         hdy_tab_view_close_page(m_tab_view, it->second);
      |         ^~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/abaddon.dir/build.make:233: CMakeFiles/abaddon.dir/src/components/channeltabswitcherhandy.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:197: CMakeFiles/abaddon.dir/all] Error 2
make: *** [Makefile:149: all] Error 2
ouwou commented

make sure libhandy is up to date. tab views are a feature from 1.2+

That fixed it, thanks!