muesli4/mpd-touch-screen-gui

Build fails with older libmpdclient

Opened this issue · 1 comments

In file included from mpd_control.cpp:13:
mpd_control.hpp:19:61: note: '#pragma message: Compiling with eventfd polling support.'
19 | #pragma message ( "Compiling with eventfd polling support." )
| ^
mpd_control.cpp: In member function 'std::optional<dynamic_image_data> mpd_control::get_albumart(std::string)':
mpd_control.cpp:424:29: error: 'mpd_send_albumart' was not declared in this scope; did you mean 'mpd_send_clear'?
424 | return get_cover(path, &mpd_send_albumart, &mpd_recv_albumart, &mpd_run_albumart);
| ^~~~~~~~~~~~~~~~~
| mpd_send_clear
mpd_control.cpp:424:49: error: 'mpd_recv_albumart' was not declared in this scope; did you mean 'mpd_recv_binary'?
424 | return get_cover(path, &mpd_send_albumart, &mpd_recv_albumart, &mpd_run_albumart);
| ^~~~~~~~~~~~~~~~~
| mpd_recv_binary
mpd_control.cpp:424:69: error: 'mpd_run_albumart' was not declared in this scope; did you mean 'mpd_run_clear'?
424 | return get_cover(path, &mpd_send_albumart, &mpd_recv_albumart, &mpd_run_albumart);
| ^~~~~~~~~~~~~~~~
| mpd_run_clear
mpd_control.cpp: In member function 'std::optional<dynamic_image_data> mpd_control::get_readpicture(std::string)':
mpd_control.cpp:429:29: error: 'mpd_send_readpicture' was not declared in this scope; did you mean 'get_readpicture'?
429 | return get_cover(path, &mpd_send_readpicture, &mpd_recv_readpicture, &mpd_run_readpicture);
| ^~~~~~~~~~~~~~~~~~~~
| get_readpicture
mpd_control.cpp:429:52: error: 'mpd_recv_readpicture' was not declared in this scope; did you mean 'get_readpicture'?
429 | return get_cover(path, &mpd_send_readpicture, &mpd_recv_readpicture, &mpd_run_readpicture);
| ^~~~~~~~~~~~~~~~~~~~
| get_readpicture
mpd_control.cpp:429:75: error: 'mpd_run_readpicture' was not declared in this scope; did you mean 'get_readpicture'?
429 | return get_cover(path, &mpd_send_readpicture, &mpd_recv_readpicture, &mpd_run_readpicture);
| ^~~~~~~~~~~~~~~~~~~
| get_readpicture
make: *** [Makefile:663: mpd_touch_screen_gui-mpd_control.o] Error 1

Hi @spendist! Your version of libmpdclient is probably too old. This is a newer MPD command to fetch the albumart directly from MPD. If you do not need this feature you can checkout d654d13, then it should compile.

  • It may be possible to introduce a configure option for this. But I am not sure if it is worth the hassle.
  • Alternatively, version requirements will be added.

See https://github.com/MusicPlayerDaemon/libmpdclient/blob/30dd8d029ccda0dce07e6b57ed7ec8b23bd59a48/NEWS#L23.