Guayadeque: wxwidgets aren’t found

Guayadeque got killed!!!

wxwidgets aren't found
-- Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES wxWidgets_INCLUDE_DIRS) 
CMake Error at CMakeLists.txt:38 (MESSAGE):
  wxWidgets not found!


-- Configuring incomplete, errors occurred!
See also "/var/tmp/pamac-build-ben/guayadeque/src/guayadeque-0.4.6/build-guayadeque/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...

I think related to this:

To remove (2):
  wxgtk3                   3.0.5.1-3           (Conflicts With: wxwidgets-gtk3)    
  wxgtk-common             3.0.5.1-3           (Conflicts With: wxwidgets-common)

Which is annoying, as Guayadeque is the most used applications on a daily basis for smartplaying music and managing smart playlists.

Any ideas?

Guayadeque-git also complains that wxwidgets aren’t found.

FYI:
https://archlinux.org/news/wxwidgets-32-update-may-need-manual-intervention/

1 Like

Can anyone try this? Is there a solution to building Guayadeque?

You can try to modify the PKGBUILD and replace wxgtk3 with wxwidgets-gtk3 and see if it build.

There’s a bit more involved that just fixing the dependency.

You also have to adjust the paths for use in the cmake command

build() {
  cd "${srcdir}/${pkgname}-${pkgver}/build-guayadeque"
  cmake .. \
    -DCMAKE_CXX_STANDARD=11 \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -D_GUREVISION_:STRING="${pkgrel}" \
    -DCMAKE_EXE_LINKER_FLAGS=-lwx_gtk3u_aui \
    -DwxWidgets_wxrc_EXECUTABLE=/usr/bin/wxrc \
    -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config \
    -DwxWidgets_INCLUDE_DIRS=/usr/include/wx
  make
}

and when that is done there’s source that needs to be adjusted.

/a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.cpp: In member function ‘virtual void Guayadeque::guAuiTabArt::DrawTab(wxDC&, wxWindow*, const wxAuiNotebookPage&, const wxRect&, int, wxRect*, wxRect*, int*)’:
/a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.cpp:296:47: error: ‘class wxBitmapBundle’ has no member named ‘GetWidth’
  296 |         close_button_width = m_activeCloseBmp.GetWidth();
      |                                               ^~~~~~~~
/a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.cpp:308:76: error: ‘const class wxBitmapBundle’ has no member named ‘GetHeight’
  308 |                       drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2),
      |                                                                            ^~~~~~~~~
/a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.cpp:311:51: error: ‘const class wxBitmapBundle’ has no member named ‘GetWidth’
  311 |         text_offset = bitmap_offset + page.bitmap.GetWidth();
      |                                                   ^~~~~~~~
/a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.cpp:334:24: error: conversion from ‘wxBitmapBundle’ to non-scalar type ‘wxBitmap’ requested
  334 |         wxBitmap bmp = m_disabledCloseBmp;
      |                        ^~~~~~~~~~~~~~~~~~
/a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.cpp:339:19: error: no match for ‘operator=’ (operand types are ‘wxBitmap’ and ‘wxBitmapBundle’)
  339 |             bmp = m_activeCloseBmp;
      |                   ^~~~~~~~~~~~~~~~
In file included from /usr/include/wx-3.2/wx/bitmap.h:318,
                 from /usr/include/wx-3.2/wx/generic/panelg.h:14,
                 from /usr/include/wx-3.2/wx/panel.h:69,
                 from /usr/include/wx-3.2/wx/wx.h:40,
                 from /a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/misc/Utils.h:25,
                 from /a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.h:25,
                 from /a/projects/aur/guayadeque/src/guayadeque-0.4.6/src/ui/aui/AuiNotebook.cpp:22:
/usr/include/wx-3.2/wx/gtk/bitmap.h:63:24: note: candidate: ‘wxBitmap& wxBitmap::operator=(const wxBitmap&)’
   63 | class WXDLLIMPEXP_CORE wxBitmap: public wxBitmapBase
      |                        ^~~~~~~~
/usr/include/wx-3.2/wx/gtk/bitmap.h:63:24: note:   no known conversion for argument 1 from ‘wxBitmapBundle’ to ‘const wxBitmap&’
make[2]: *** [src/CMakeFiles/guayadeque.dir/build.make:664: src/CMakeFiles/guayadeque.dir/ui/aui/AuiNotebook.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:644: src/CMakeFiles/guayadeque.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
2 Likes

Thats not the problem. (wxwidgets-gtk3 provides wxgtk3)

You can get it to recognizing wxwidgets by modifying the cmake flags. However it will error out mid-compilation as mentioned (in the other thread)…

build() {
  cd "${srcdir}/${pkgname}-${pkgver}/build-guayadeque"
  cmake .. \
    -DCMAKE_CXX_STANDARD=11 \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -D_GUREVISION_:STRING="${pkgrel}" \
    -DCMAKE_EXE_LINKER_FLAGS=-lwx_gtk3u_aui-3.2 \
    -DwxWidgets_wxrc_EXECUTABLE=/usr/bin/wxrc-3.2 \
    -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config \
    -DwxWidgets_INCLUDE_DIRS=/usr/include/wx-3.2
  make
}

(I think you could even completely remove the wxwidgets flags…)

1 Like

Haha if only I had such skills - it would be nice to see an update to the build in AUR. I suspect, however, that it’s another software that’s falling by the wayside and people aren’t aware of it’s unique benefits - or they don’t know how to create the same good features in a new player.

It’s not PKGBUILD’s fault. You can git clone the repo and build it manually and it will fail.

Either devs of the project will fix it, or you’ll have to do it yourself. (or anyone else who uses it)

OFF TOPIC: It’s possible to make Guayadeque work with old versions of wxgtk3 and wxsqlite3 installed in /opt, but I couldn’t figure out how to force CMake to use /opt/wxsqlite3 libs. However I did make it work using regular DESTDIR, but then you are stuck with older version of wxsqlite3 compiled against (old) wxgtk3.
And even this… who knows how long it would work. Could break on next sqlite3 update.

Anyway, we should continue this in original thread, or a new one - when/if I take some more time and try to find a hacky workaround. (Sooner or later you’ll get an answer and proper fix on github as well, probably.)

3 Likes

https://www.guayadeque.org/viewtopic.php?p=6968#p6968
Someone asked for Cmake log…

Well, it’s author of Guayadeque. :stuck_out_tongue:

Working now - music’s a-playin’

Recommended to everyone :wink:

pamac install guayadeque-git

give it a go :wink:

1 Like

Yes, if you want to get lost for some hours in the “www” of music it is the best.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.