Page 1 of 1

Cannot compile MPD on Vim3l / ubuntu 20.01

Posted: October 16th, 2020, 6:03 pm
by atohmdiy
Hello,
I spend some time to compile mpd 0.22 from source in my vim3l and ubuntu 20.04. I use the standard procedure from the wiki.

There is an obscure error with ffmpeg filters :

Code: Select all

FAILED: mpd 
c++  -o mpd 'mpd@exe/meson-generated_.._GitVersion.cxx.o' 'mpd@exe/src_Main.cxx.o' 'mpd@exe/src_protocol_Ack.cxx.o' 'mpd@exe/src_protocol_ArgParser.cxx.o' 'mpd@exe/src_protocol_Result.cxx.o' 'mpd@exe/src_command_CommandError.cxx.o' 'mpd@exe/src_command_AllCommands.cxx.o' 'mpd@exe/src_command_QueueCommands.cxx.o' 'mpd@exe/src_command_TagCommands.cxx.o' 'mpd@exe/src_command_PlayerCommands.cxx.o' 'mpd@exe/src_command_PlaylistCommands.cxx.o' 'mpd@exe/src_command_FileCommands.cxx.o' 'mpd@exe/src_command_OutputCommands.cxx.o' 'mpd@exe/src_command_MessageCommands.cxx.o' 'mpd@exe/src_command_ClientCommands.cxx.o' 'mpd@exe/src_command_PartitionCommands.cxx.o' 'mpd@exe/src_command_OtherCommands.cxx.o' 'mpd@exe/src_command_CommandListBuilder.cxx.o' 'mpd@exe/src_Idle.cxx.o' 'mpd@exe/src_IdleFlags.cxx.o' 'mpd@exe/src_decoder_Domain.cxx.o' 'mpd@exe/src_decoder_Thread.cxx.o' 'mpd@exe/src_decoder_Control.cxx.o' 'mpd@exe/src_decoder_Bridge.cxx.o' 'mpd@exe/src_decoder_DecoderPrint.cxx.o' 'mpd@exe/src_client_Listener.cxx.o' 'mpd@exe/src_client_Client.cxx.o' 'mpd@exe/src_client_Config.cxx.o' 'mpd@exe/src_client_Domain.cxx.o' 'mpd@exe/src_client_Event.cxx.o' 'mpd@exe/src_client_Expire.cxx.o' 'mpd@exe/src_client_Idle.cxx.o' 'mpd@exe/src_client_List.cxx.o' 'mpd@exe/src_client_New.cxx.o' 'mpd@exe/src_client_Process.cxx.o' 'mpd@exe/src_client_Read.cxx.o' 'mpd@exe/src_client_Write.cxx.o' 'mpd@exe/src_client_Message.cxx.o' 'mpd@exe/src_client_Subscribe.cxx.o' 'mpd@exe/src_client_File.cxx.o' 'mpd@exe/src_client_Response.cxx.o' 'mpd@exe/src_client_ThreadBackgroundCommand.cxx.o' 'mpd@exe/src_Listen.cxx.o' 'mpd@exe/src_LogInit.cxx.o' 'mpd@exe/src_ls.cxx.o' 'mpd@exe/src_Instance.cxx.o' 'mpd@exe/src_win32_Win32Main.cxx.o' 'mpd@exe/src_MusicBuffer.cxx.o' 'mpd@exe/src_MusicPipe.cxx.o' 'mpd@exe/src_MusicChunk.cxx.o' 'mpd@exe/src_MusicChunkPtr.cxx.o' 'mpd@exe/src_Mapper.cxx.o' 'mpd@exe/src_Partition.cxx.o' 'mpd@exe/src_Permission.cxx.o' 'mpd@exe/src_player_CrossFade.cxx.o' 'mpd@exe/src_player_Thread.cxx.o' 'mpd@exe/src_player_Control.cxx.o' 'mpd@exe/src_PlaylistError.cxx.o' 'mpd@exe/src_PlaylistPrint.cxx.o' 'mpd@exe/src_PlaylistSave.cxx.o' 'mpd@exe/src_playlist_PlaylistStream.cxx.o' 'mpd@exe/src_playlist_PlaylistMapper.cxx.o' 'mpd@exe/src_playlist_PlaylistAny.cxx.o' 'mpd@exe/src_playlist_PlaylistSong.cxx.o' 'mpd@exe/src_playlist_PlaylistQueue.cxx.o' 'mpd@exe/src_playlist_Print.cxx.o' 'mpd@exe/src_db_PlaylistVector.cxx.o' 'mpd@exe/src_queue_Queue.cxx.o' 'mpd@exe/src_queue_QueuePrint.cxx.o' 'mpd@exe/src_queue_QueueSave.cxx.o' 'mpd@exe/src_queue_Playlist.cxx.o' 'mpd@exe/src_queue_PlaylistControl.cxx.o' 'mpd@exe/src_queue_PlaylistEdit.cxx.o' 'mpd@exe/src_queue_PlaylistTag.cxx.o' 'mpd@exe/src_queue_PlaylistState.cxx.o' 'mpd@exe/src_ReplayGainGlobal.cxx.o' 'mpd@exe/src_LocateUri.cxx.o' 'mpd@exe/src_SongUpdate.cxx.o' 'mpd@exe/src_SongLoader.cxx.o' 'mpd@exe/src_SongPrint.cxx.o' 'mpd@exe/src_SongSave.cxx.o' 'mpd@exe/src_StateFile.cxx.o' 'mpd@exe/src_StateFileConfig.cxx.o' 'mpd@exe/src_Stats.cxx.o' 'mpd@exe/src_TagPrint.cxx.o' 'mpd@exe/src_TagSave.cxx.o' 'mpd@exe/src_TagFile.cxx.o' 'mpd@exe/src_TagStream.cxx.o' 'mpd@exe/src_TagAny.cxx.o' 'mpd@exe/src_TimePrint.cxx.o' 'mpd@exe/src_mixer_Volume.cxx.o' 'mpd@exe/src_PlaylistFile.cxx.o' 'mpd@exe/src_CommandLine.cxx.o' 'mpd@exe/src_unix_SignalHandlers.cxx.o' 'mpd@exe/src_unix_Daemon.cxx.o' 'mpd@exe/src_queue_PlaylistUpdate.cxx.o' 'mpd@exe/src_command_StorageCommands.cxx.o' 'mpd@exe/src_command_DatabaseCommands.cxx.o' 'mpd@exe/src_RemoteTagCache.cxx.o' 'mpd@exe/src_command_StickerCommands.cxx.o' 'mpd@exe/src_sticker_Database.cxx.o' 'mpd@exe/src_sticker_Print.cxx.o' 'mpd@exe/src_sticker_SongSticker.cxx.o' 'mpd@exe/src_command_FingerprintCommands.cxx.o' 'mpd@exe/src_lib_chromaprint_DecoderClient.cxx.o' 'mpd@exe/src_command_NeighborCommands.cxx.o' 'mpd@exe/src_TagArchive.cxx.o' 'mpd@exe/src_db_update_Archive.cxx.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--gc-sections -Wl,--start-group libbasic.a src/config/libfs.a liblog.a src/fs/libfs.a src/lib/zlib/libzlib.a src/io/libio.a src/system/libsystem.a src/lib/icu/libicu.a src/util/libutil.a src/lib/dbus/libdbus.a src/event/libevent.a src/thread/libthread.a src/net/libnet.a src/neighbor/libneighbor_glue.a src/neighbor/plugins/libneighbor_plugins.a src/lib/smbclient/libsmbclient.a src/lib/upnp/libupnp.a src/lib/curl/libcurl.a src/lib/expat/libexpat.a src/input/libinput_glue.a src/input/plugins/libinput_plugins.a src/lib/alsa/libalsa.a src/lib/ffmpeg/libffmpeg.a src/lib/nfs/libnfs.a src/lib/yajl/libyajl.a src/lib/crypto/libcrypto_md5.a src/input/libinput_api.a src/pcm/libpcm.a src/pcm/libpcm_basic.a src/tag/libtag.a src/time/libtime.a src/archive/libarchive_glue.a src/archive/plugins/libarchive_plugins.a src/archive/libarchive_api.a src/output/liboutput_glue.a src/filter/libfilter_glue.a src/filter/plugins/libfilter_plugins.a src/filter/libfilter_api.a src/mixer/plugins/libmixer_plugins.a src/lib/pulse/libpulse.a src/output/plugins/liboutput_plugins.a src/output/liboutput_api.a src/mixer/libmixer_glue.a src/decoder/libdecoder_glue.a src/decoder/plugins/libdecoder_plugins.a src/lib/xiph/libflac.a src/lib/xiph/libxiph.a src/lib/xiph/libvorbis.a src/lib/xiph/libogg.a src/lib/crypto/libcrypto_base64.a src/decoder/libdecoder_api.a src/encoder/libencoder_glue.a src/encoder/plugins/libencoder_plugins.a src/playlist/libplaylist_glue.a src/playlist/plugins/libplaylist_plugins.a src/playlist/libplaylist_api.a src/db/libdb_glue.a src/db/plugins/libdb_plugins.a src/db/libdb_api.a src/storage/libstorage_api.a src/storage/libstorage_glue.a src/storage/plugins/libstorage_plugins.a src/song/libsong.a src/lib/pcre/libpcre.a src/lib/systemd/libsystemd.a src/lib/sqlite/libsqlite.a src/zeroconf/libzeroconf_bonjour.a /usr/lib/aarch64-linux-gnu/libdbus-1.so /usr/lib/aarch64-linux-gnu/libavformat.so /usr/lib/aarch64-linux-gnu/libavcodec.so /usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/libavfilter.so /usr/lib/aarch64-linux-gnu/libavutil.so /usr/lib/aarch64-linux-gnu/libpcre.so /usr/lib/aarch64-linux-gnu/libchromaprint.so /usr/lib/aarch64-linux-gnu/libz.so /usr/lib/aarch64-linux-gnu/libicui18n.so /usr/lib/aarch64-linux-gnu/libicuuc.so /usr/lib/aarch64-linux-gnu/libicudata.so -pthread /usr/lib/aarch64-linux-gnu/libsmbclient.so /usr/lib/aarch64-linux-gnu/libupnp.so /usr/lib/aarch64-linux-gnu/libixml.so /usr/lib/aarch64-linux-gnu/libcurl.so /usr/lib/aarch64-linux-gnu/libexpat.so /usr/lib/aarch64-linux-gnu/libcdio_paranoia.so /usr/lib/aarch64-linux-gnu/libcdio_cdda.so /usr/lib/aarch64-linux-gnu/libcdio.so -lm /usr/lib/aarch64-linux-gnu/libmms.so /usr/lib/aarch64-linux-gnu/libglib-2.0.so /usr/lib/aarch64-linux-gnu/libnfs.so /usr/lib/aarch64-linux-gnu/libyajl.so /usr/lib/aarch64-linux-gnu/libasound.so /usr/lib/aarch64-linux-gnu/libsamplerate.so /usr/lib/aarch64-linux-gnu/libsoxr.so /usr/lib/aarch64-linux-gnu/libid3tag.so -lbz2 /usr/lib/aarch64-linux-gnu/libiso9660.so -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/lib/aarch64-linux-gnu/libzzip.so /usr/lib/aarch64-linux-gnu/libpulse.so -lsndio /usr/lib/aarch64-linux-gnu/libao.so /usr/lib/aarch64-linux-gnu/libjack.so /usr/lib/aarch64-linux-gnu/libshout.so -lsndio /usr/lib/aarch64-linux-gnu/libopenal.so /usr/lib/aarch64-linux-gnu/libadplug.so /usr/lib/aarch64-linux-gnu/libbinio.so /usr/lib/aarch64-linux-gnu/libFLAC.so /usr/lib/aarch64-linux-gnu/libfluidsynth.so /usr/lib/aarch64-linux-gnu/libaudiofile.so -lfaad -lgme -lmad /usr/lib/aarch64-linux-gnu/libmikmod.so /usr/lib/aarch64-linux-gnu/libmodplug.so -lmpcdec /usr/lib/aarch64-linux-gnu/libmpg123.so /usr/lib/aarch64-linux-gnu/libopus.so /usr/lib/libsidplay2.so /usr/lib/libsidutils.so -lresid-builder /usr/lib/aarch64-linux-gnu/libsndfile.so /usr/lib/aarch64-linux-gnu/libogg.so /usr/lib/aarch64-linux-gnu/libvorbis.so /usr/lib/aarch64-linux-gnu/libwavpack.so -lWildMidi /usr/lib/aarch64-linux-gnu/libvorbisenc.so -lmp3lame /usr/lib/aarch64-linux-gnu/libtwolame.so /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libshine.so /usr/lib/aarch64-linux-gnu/libmpdclient.so /lib/aarch64-linux-gnu/libsystemd.so /usr/lib/aarch64-linux-gnu/libsqlite3.so /usr/lib/aarch64-linux-gnu/libavahi-common.so /usr/lib/aarch64-linux-gnu/libavahi-client.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/:$ORIGIN/src/config:$ORIGIN/src/fs:$ORIGIN/src/lib/zlib:$ORIGIN/src/io:$ORIGIN/src/system:$ORIGIN/src/lib/icu:$ORIGIN/src/util:$ORIGIN/src/lib/dbus:$ORIGIN/src/event:$ORIGIN/src/thread:$ORIGIN/src/net:$ORIGIN/src/neighbor:$ORIGIN/src/neighbor/plugins:$ORIGIN/src/lib/smbclient:$ORIGIN/src/lib/upnp:$ORIGIN/src/lib/curl:$ORIGIN/src/lib/expat:$ORIGIN/src/input:$ORIGIN/src/input/plugins:$ORIGIN/src/lib/alsa:$ORIGIN/src/lib/ffmpeg:$ORIGIN/src/lib/nfs:$ORIGIN/src/lib/yajl:$ORIGIN/src/lib/crypto:$ORIGIN/src/pcm:$ORIGIN/src/tag:$ORIGIN/src/time:$ORIGIN/src/archive:$ORIGIN/src/archive/plugins:$ORIGIN/src/output:$ORIGIN/src/filter:$ORIGIN/src/filter/plugins:$ORIGIN/src/mixer/plugins:$ORIGIN/src/lib/pulse:$ORIGIN/src/output/plugins:$ORIGIN/src/mixer:$ORIGIN/src/decoder:$ORIGIN/src/decoder/plugins:$ORIGIN/src/lib/xiph:$ORIGIN/src/encoder:$ORIGIN/src/encoder/plugins:$ORIGIN/src/playlist:$ORIGIN/src/playlist/plugins:$ORIGIN/src/db:$ORIGIN/src/db/plugins:$ORIGIN/src/storage:$ORIGIN/src/storage/plugins:$ORIGIN/src/song:$ORIGIN/src/lib/pcre:$ORIGIN/src/lib/systemd:$ORIGIN/src/lib/sqlite:$ORIGIN/src/zeroconf' -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/ -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/config -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/fs -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/zlib -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/io -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/system -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/icu -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/util -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/dbus -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/event -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/thread -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/net -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/neighbor -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/neighbor/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/smbclient -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/upnp -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/curl -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/expat -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/input -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/input/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/alsa -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/ffmpeg -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/nfs -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/yajl -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/crypto -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/pcm -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/tag -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/time -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/archive -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/archive/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/output -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/filter -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/filter/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/mixer/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/pulse -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/output/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/mixer -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/decoder -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/decoder/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/xiph -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/encoder -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/encoder/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/playlist -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/playlist/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/db -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/db/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/storage -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/storage/plugins -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/song -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/pcre -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/systemd -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/lib/sqlite -Wl,-rpath-link,/home/khadas/mpd-0.22/output/release/src/zeroconf
/usr/bin/ld: warning: libavformat.so.53, needed by /usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/libavfilter.so, may conflict with libavformat.so.58
/usr/bin/ld: warning: libavcodec.so.53, needed by /usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/libavfilter.so, may conflict with libavcodec.so.58
/usr/bin/ld: warning: libavutil.so.51, needed by /usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/libavfilter.so, may conflict with libavutil.so.56
/usr/bin/ld: src/filter/plugins/libfilter_plugins.a(FfmpegFilterPlugin.cxx.o): in function `PreparedFfmpegFilter::Open(AudioFormat&)':
FfmpegFilterPlugin.cxx:(.text._ZN20PreparedFfmpegFilter4OpenER11AudioFormat+0xb0): undefined reference to `avfilter_graph_parse_ptr'
/usr/bin/ld: src/filter/plugins/libfilter_plugins.a(FfmpegFilterPlugin.cxx.o): in function `ffmpeg_filter_init(ConfigBlock const&)':
FfmpegFilterPlugin.cxx:(.text._ZL18ffmpeg_filter_initRK11ConfigBlock+0x60): undefined reference to `avfilter_graph_parse2'
/usr/bin/ld: src/filter/plugins/libfilter_plugins.a(HdcdFilterPlugin.cxx.o): in function `PreparedHdcdFilter::Open(AudioFormat&)':
HdcdFilterPlugin.cxx:(.text._ZN18PreparedHdcdFilter4OpenER11AudioFormat+0x120): undefined reference to `avfilter_graph_parse_ptr'
/usr/bin/ld: src/filter/plugins/libfilter_plugins.a(HdcdFilterPlugin.cxx.o): in function `hdcd_filter_init(ConfigBlock const&)':
HdcdFilterPlugin.cxx:(.text._ZL16hdcd_filter_initRK11ConfigBlock+0x48): undefined reference to `avfilter_graph_parse2'
/usr/bin/ld: src/filter/plugins/libfilter_plugins.a(FfmpegFilter.cxx.o): in function `FfmpegFilter::FilterPCM(ConstBuffer<void>)':
FfmpegFilter.cxx:(.text._ZN12FfmpegFilter9FilterPCME11ConstBufferIvE+0x84): undefined reference to `av_buffersrc_add_frame'
/usr/bin/ld: FfmpegFilter.cxx:(.text._ZN12FfmpegFilter9FilterPCME11ConstBufferIvE+0x9c): undefined reference to `av_buffersink_get_frame'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Can you tell me how to avoid it ?

Thank you

Re: Cannot compile MPD on Vim3l / ubuntu 20.01

Posted: October 17th, 2020, 11:59 am
by max
Your FFmpeg library installation is broken.

Re: Cannot compile MPD on Vim3l / ubuntu 20.01

Posted: October 18th, 2020, 1:01 am
by atohmdiy
I just use the packages from ubuntu 20.04, something is wrong with packaging i suppose.

Here is more detail of the problem.

Code: Select all

ninja -C output/release
ninja: Entering directory `output/release'
[1/11] Compiling C++ object 'mpd@exe/src_command_FingerprintCommands.cxx.o'.
FAILED: mpd@exe/src_command_FingerprintCommands.cxx.o 
c++ -Impd@exe -I. -I../.. -Isrc -I../../src -I../../ -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -I/usr/include/aarch64-linux-gnu -I/storage/code/buildroot/buildroot-openlinux-g12b/output/mesong12b_w400_release/host/aarch64-linux-gnu/sysroot/nick1234/usr/include -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++17 -O3 -Wvla -Wdouble-promotion -fvisibility=hidden -ffast-math -ftree-vectorize -fno-threadsafe-statics -fmerge-all-constants -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wsign-compare -Wextra-semi -Wunused -Wno-non-virtual-dtor -ffunction-sections -fdata-sections -D_GNU_SOURCE -MD -MQ 'mpd@exe/src_command_FingerprintCommands.cxx.o' -MF 'mpd@exe/src_command_FingerprintCommands.cxx.o.d' -o 'mpd@exe/src_command_FingerprintCommands.cxx.o' -c ../../src/command/FingerprintCommands.cxx
In file included from ../../src/lib/chromaprint/DecoderClient.hxx:23,
                 from ../../src/command/FingerprintCommands.cxx:24:
../../src/lib/chromaprint/Context.hxx:35:10: fatal error: chromaprint.h: No such file or directory
   35 | #include <chromaprint.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
[2/11] Compiling C++ object 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilter.cxx.o'.
FAILED: src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilter.cxx.o 
c++ -Isrc/filter/plugins/00caeef@@filter_plugins@sta -Isrc/filter/plugins -I../../src/filter/plugins -Isrc -I../../src -I. -I../../ -I/usr/include/aarch64-linux-gnu -I/storage/code/buildroot/buildroot-openlinux-g12b/output/mesong12b_w400_release/host/aarch64-linux-gnu/sysroot/nick1234/usr/include -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++17 -O3 -Wvla -Wdouble-promotion -fvisibility=hidden -ffast-math -ftree-vectorize -fno-threadsafe-statics -fmerge-all-constants -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wsign-compare -Wextra-semi -Wunused -Wno-non-virtual-dtor -ffunction-sections -fdata-sections -D_GNU_SOURCE -fPIC -MD -MQ 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilter.cxx.o' -MF 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilter.cxx.o.d' -o 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilter.cxx.o' -c ../../src/filter/plugins/FfmpegFilter.cxx
../../src/filter/plugins/FfmpegFilter.cxx:25:10: fatal error: libavfilter/buffersrc.h: No such file or directory
   25 | #include <libavfilter/buffersrc.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[4/10] Compiling C++ object 'src/lib/ffmpeg/7cc3430@@ffmpeg@sta/Filter.cxx.o'.
FAILED: src/lib/ffmpeg/7cc3430@@ffmpeg@sta/Filter.cxx.o 
c++ -Isrc/lib/ffmpeg/7cc3430@@ffmpeg@sta -Isrc/lib/ffmpeg -I../../src/lib/ffmpeg -Isrc -I../../src -I. -I../../ -I/usr/include/aarch64-linux-gnu -I/storage/code/buildroot/buildroot-openlinux-g12b/output/mesong12b_w400_release/host/aarch64-linux-gnu/sysroot/nick1234/usr/include -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++17 -O3 -Wvla -Wdouble-promotion -fvisibility=hidden -ffast-math -ftree-vectorize -fno-threadsafe-statics -fmerge-all-constants -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wsign-compare -Wextra-semi -Wunused -Wno-non-virtual-dtor -ffunction-sections -fdata-sections -D_GNU_SOURCE -fPIC -MD -MQ 'src/lib/ffmpeg/7cc3430@@ffmpeg@sta/Filter.cxx.o' -MF 'src/lib/ffmpeg/7cc3430@@ffmpeg@sta/Filter.cxx.o.d' -o 'src/lib/ffmpeg/7cc3430@@ffmpeg@sta/Filter.cxx.o' -c ../../src/lib/ffmpeg/Filter.cxx
In file included from ../../src/lib/ffmpeg/Filter.hxx:26,
                 from ../../src/lib/ffmpeg/Filter.cxx:20:
/usr/include/libavfilter/avfilter.h:691:62: error: use of enum ‘PixelFormat’ without previous declaration
  691 |                                           int w, int h, enum PixelFormat format);
      |                                                              ^~~~~~~~~~~
In file included from ../../src/lib/ffmpeg/Filter.cxx:20:
../../src/lib/ffmpeg/Filter.hxx:39:2: error: ‘AVFilterInOut’ does not name a type; did you mean ‘FilterInOut’?
   39 |  AVFilterInOut *io = nullptr;
      |  ^~~~~~~~~~~~~
      |  FilterInOut
../../src/lib/ffmpeg/Filter.hxx:41:36: error: expected ‘)’ before ‘*’ token
   41 |  explicit FilterInOut(AVFilterInOut *_io) noexcept
      |                      ~             ^~
      |                                    )
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’:
../../src/lib/ffmpeg/Filter.hxx:48:4: error: class ‘Ffmpeg::FilterInOut’ does not have any field named ‘io’
   48 |   :io(avfilter_inout_alloc()) {
      |    ^~
../../src/lib/ffmpeg/Filter.hxx:48:7: error: ‘avfilter_inout_alloc’ was not declared in this scope
   48 |   :io(avfilter_inout_alloc()) {
      |       ^~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:49:7: error: ‘io’ was not declared in this scope
   49 |   if (io == nullptr)
      |       ^~
../../src/lib/ffmpeg/Filter.hxx:52:3: error: ‘io’ was not declared in this scope
   52 |   io->name = av_strdup(name);
      |   ^~
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:59:4: error: class ‘Ffmpeg::FilterInOut’ does not have any field named ‘io’
   59 |   :io(std::exchange(src.io, nullptr)) {}
      |    ^~
../../src/lib/ffmpeg/Filter.hxx:59:25: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
   59 |   :io(std::exchange(src.io, nullptr)) {}
      |                         ^~
../../src/lib/ffmpeg/Filter.hxx: In destructor ‘Ffmpeg::FilterInOut::~FilterInOut()’:
../../src/lib/ffmpeg/Filter.hxx:62:7: error: ‘io’ was not declared in this scope
   62 |   if (io != nullptr)
      |       ^~
../../src/lib/ffmpeg/Filter.hxx:63:4: error: ‘avfilter_inout_free’ was not declared in this scope; did you mean ‘avfilter_link_free’?
   63 |    avfilter_inout_free(&io);
      |    ^~~~~~~~~~~~~~~~~~~
      |    avfilter_link_free
../../src/lib/ffmpeg/Filter.hxx: In member function ‘Ffmpeg::FilterInOut& Ffmpeg::FilterInOut::operator=(Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:68:8: error: ‘io’ was not declared in this scope
   68 |   swap(io, src.io);
      |        ^~
../../src/lib/ffmpeg/Filter.hxx:68:16: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
   68 |   swap(io, src.io);
      |                ^~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto* Ffmpeg::FilterInOut::get()’:
../../src/lib/ffmpeg/Filter.hxx:73:10: error: ‘io’ was not declared in this scope
   73 |   return io;
      |          ^~
../../src/lib/ffmpeg/Filter.hxx: At global scope:
../../src/lib/ffmpeg/Filter.hxx:85:9: error: ‘AVFilterGraph’ has not been declared
   85 |         AVFilterGraph &graph_ctx) {
      |         ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:95:9: error: ‘AVFilterGraph’ has not been declared
   95 |         AVFilterGraph &graph_ctx)
      |         ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:119:10: error: ‘AVFilterGraph’ has not been declared
  119 |          AVFilterGraph &graph_ctx);
      |          ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:124:43: error: ‘AVFilterGraph’ has not been declared
  124 |  static FilterContext MakeAudioBufferSink(AVFilterGraph &graph_ctx);
      |                                           ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterContext::FilterContext(const AVFilter&, const char*, const char*, void*, int&)’:
../../src/lib/ffmpeg/Filter.hxx:86:13: error: ‘avfilter_graph_create_filter’ was not declared in this scope; did you mean ‘avfilter_insert_filter’?
   86 |   int err = avfilter_graph_create_filter(&context, &filt,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             avfilter_insert_filter
../../src/lib/ffmpeg/Filter.hxx: At global scope:
../../src/lib/ffmpeg/Filter.hxx:136:2: error: ‘AVFilterGraph’ does not name a type; did you mean ‘FilterGraph’?
  136 |  AVFilterGraph *graph = nullptr;
      |  ^~~~~~~~~~~~~
      |  FilterGraph
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterGraph::FilterGraph()’:
../../src/lib/ffmpeg/Filter.hxx:141:16: error: class ‘Ffmpeg::FilterGraph’ does not have any field named ‘graph’
  141 |  FilterGraph():graph(avfilter_graph_alloc()) {
      |                ^~~~~
../../src/lib/ffmpeg/Filter.hxx:141:22: error: ‘avfilter_graph_alloc’ was not declared in this scope
  141 |  FilterGraph():graph(avfilter_graph_alloc()) {
      |                      ^~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:142:7: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  142 |   if (graph == nullptr)
      |       ^~~~~
      |       isgraph
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterGraph::FilterGraph(Ffmpeg::FilterGraph&&)’:
../../src/lib/ffmpeg/Filter.hxx:147:4: error: class ‘Ffmpeg::FilterGraph’ does not have any field named ‘graph’
  147 |   :graph(std::exchange(src.graph, nullptr)) {}
      |    ^~~~~
../../src/lib/ffmpeg/Filter.hxx:147:28: error: ‘class Ffmpeg::FilterGraph’ has no member named ‘graph’
  147 |   :graph(std::exchange(src.graph, nullptr)) {}
      |                            ^~~~~
../../src/lib/ffmpeg/Filter.hxx: In destructor ‘Ffmpeg::FilterGraph::~FilterGraph()’:
../../src/lib/ffmpeg/Filter.hxx:150:7: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  150 |   if (graph != nullptr)
      |       ^~~~~
      |       isgraph
../../src/lib/ffmpeg/Filter.hxx:151:4: error: ‘avfilter_graph_free’ was not declared in this scope; did you mean ‘avfilter_link_free’?
  151 |    avfilter_graph_free(&graph);
      |    ^~~~~~~~~~~~~~~~~~~
      |    avfilter_link_free
../../src/lib/ffmpeg/Filter.hxx: In member function ‘Ffmpeg::FilterGraph& Ffmpeg::FilterGraph::operator=(Ffmpeg::FilterGraph&&)’:
../../src/lib/ffmpeg/Filter.hxx:156:8: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  156 |   swap(graph, src.graph);
      |        ^~~~~
      |        isgraph
../../src/lib/ffmpeg/Filter.hxx:156:19: error: ‘class Ffmpeg::FilterGraph’ has no member named ‘graph’
  156 |   swap(graph, src.graph);
      |                   ^~~~~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto& Ffmpeg::FilterGraph::operator*()’:
../../src/lib/ffmpeg/Filter.hxx:161:11: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  161 |   return *graph;
      |           ^~~~~
      |           isgraph
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto* Ffmpeg::FilterGraph::operator->()’:
../../src/lib/ffmpeg/Filter.hxx:165:10: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  165 |   return graph;
      |          ^~~~~
      |          isgraph
../../src/lib/ffmpeg/Filter.hxx: In member function ‘std::pair<Ffmpeg::FilterInOut, Ffmpeg::FilterInOut> Ffmpeg::FilterGraph::Parse(const char*, Ffmpeg::FilterInOut&&, Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:171:38: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  171 |   int err = avfilter_graph_parse_ptr(graph, filters,
      |                                      ^~~~~
      |                                      isgraph
../../src/lib/ffmpeg/Filter.hxx:172:18: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
  172 |          &inputs.io, &outputs.io,
      |                  ^~
../../src/lib/ffmpeg/Filter.hxx:172:31: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
  172 |          &inputs.io, &outputs.io,
      |                               ^~
../../src/lib/ffmpeg/Filter.hxx:171:13: error: ‘avfilter_graph_parse_ptr’ was not declared in this scope
  171 |   int err = avfilter_graph_parse_ptr(graph, filters,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘std::pair<Ffmpeg::FilterInOut, Ffmpeg::FilterInOut> Ffmpeg::FilterGraph::Parse(const char*)’:
../../src/lib/ffmpeg/Filter.hxx:181:3: error: ‘AVFilterInOut’ was not declared in this scope; did you mean ‘FilterInOut’?
  181 |   AVFilterInOut *inputs, *outputs;
      |   ^~~~~~~~~~~~~
      |   FilterInOut
../../src/lib/ffmpeg/Filter.hxx:181:18: error: ‘inputs’ was not declared in this scope; did you mean ‘puts’?
  181 |   AVFilterInOut *inputs, *outputs;
      |                  ^~~~~~
      |                  puts
../../src/lib/ffmpeg/Filter.hxx:181:27: error: ‘outputs’ was not declared in this scope; did you mean ‘puts’?
  181 |   AVFilterInOut *inputs, *outputs;
      |                           ^~~~~~~
      |                           puts
../../src/lib/ffmpeg/Filter.hxx:182:35: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  182 |   int err = avfilter_graph_parse2(graph, filters,
      |                                   ^~~~~
      |                                   isgraph
../../src/lib/ffmpeg/Filter.hxx:182:13: error: ‘avfilter_graph_parse2’ was not declared in this scope
  182 |   int err = avfilter_graph_parse2(graph, filters,
      |             ^~~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:187:43: error: no matching function for call to ‘Ffmpeg::FilterInOut::FilterInOut(<brace-enclosed initializer list>)’
  187 |   return std::make_pair(FilterInOut{inputs}, FilterInOut{outputs});
      |                                           ^
../../src/lib/ffmpeg/Filter.hxx:58:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’
   58 |  FilterInOut(FilterInOut &&src) noexcept
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:58:2: note:   conversion of argument 1 would be ill-formed:
../../src/lib/ffmpeg/Filter.hxx:47:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’
   47 |  FilterInOut(const char *name, AVFilterContext &context)
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:47:2: note:   candidate expects 2 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:45:2: note: candidate: ‘constexpr Ffmpeg::FilterInOut::FilterInOut()’
   45 |  FilterInOut() = default;
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:45:2: note:   candidate expects 0 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:187:65: error: no matching function for call to ‘Ffmpeg::FilterInOut::FilterInOut(<brace-enclosed initializer list>)’
  187 |   return std::make_pair(FilterInOut{inputs}, FilterInOut{outputs});
      |                                                                 ^
../../src/lib/ffmpeg/Filter.hxx:58:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’
   58 |  FilterInOut(FilterInOut &&src) noexcept
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:58:2: note:   conversion of argument 1 would be ill-formed:
../../src/lib/ffmpeg/Filter.hxx:47:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’
   47 |  FilterInOut(const char *name, AVFilterContext &context)
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:47:2: note:   candidate expects 2 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:45:2: note: candidate: ‘constexpr Ffmpeg::FilterInOut::FilterInOut()’
   45 |  FilterInOut() = default;
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:45:2: note:   candidate expects 0 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx: In member function ‘void Ffmpeg::FilterGraph::CheckAndConfigure()’:
../../src/lib/ffmpeg/Filter.hxx:191:35: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  191 |   int err = avfilter_graph_config(graph, nullptr);
      |                                   ^~~~~
      |                                   isgraph
../../src/lib/ffmpeg/Filter.hxx:191:13: error: ‘avfilter_graph_config’ was not declared in this scope
  191 |   int err = avfilter_graph_config(graph, nullptr);
      |             ^~~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.cxx: At global scope:
../../src/lib/ffmpeg/Filter.cxx:41:10: error: ‘AVFilterGraph’ has not been declared
   41 |          AVFilterGraph &graph_ctx)
      |          ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.cxx:70:1: error: ‘Ffmpeg::FilterContext Ffmpeg::FilterContext::MakeAudioBufferSink’ is not a static data member of ‘class Ffmpeg::FilterContext’
   70 | FilterContext::MakeAudioBufferSink(AVFilterGraph &graph_ctx)
      | ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.cxx:70:36: error: ‘AVFilterGraph’ was not declared in this scope; did you mean ‘FilterGraph’?
   70 | FilterContext::MakeAudioBufferSink(AVFilterGraph &graph_ctx)
      |                                    ^~~~~~~~~~~~~
      |                                    FilterGraph
../../src/lib/ffmpeg/Filter.cxx:70:51: error: ‘graph_ctx’ was not declared in this scope
   70 | FilterContext::MakeAudioBufferSink(AVFilterGraph &graph_ctx)
      |                                                   ^~~~~~~~~
../../src/lib/ffmpeg/Filter.cxx:71:1: error: expected ‘,’ or ‘;’ before ‘{’ token
   71 | {
      | ^
[5/10] Compiling C++ object 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilterPlugin.cxx.o'.
FAILED: src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilterPlugin.cxx.o 
c++ -Isrc/filter/plugins/00caeef@@filter_plugins@sta -Isrc/filter/plugins -I../../src/filter/plugins -Isrc -I../../src -I. -I../../ -I/usr/include/aarch64-linux-gnu -I/storage/code/buildroot/buildroot-openlinux-g12b/output/mesong12b_w400_release/host/aarch64-linux-gnu/sysroot/nick1234/usr/include -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++17 -O3 -Wvla -Wdouble-promotion -fvisibility=hidden -ffast-math -ftree-vectorize -fno-threadsafe-statics -fmerge-all-constants -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wsign-compare -Wextra-semi -Wunused -Wno-non-virtual-dtor -ffunction-sections -fdata-sections -D_GNU_SOURCE -fPIC -MD -MQ 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilterPlugin.cxx.o' -MF 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilterPlugin.cxx.o.d' -o 'src/filter/plugins/00caeef@@filter_plugins@sta/FfmpegFilterPlugin.cxx.o' -c ../../src/filter/plugins/FfmpegFilterPlugin.cxx
In file included from ../../src/lib/ffmpeg/Filter.hxx:26,
                 from ../../src/filter/plugins/FfmpegFilter.hxx:24,
                 from ../../src/filter/plugins/FfmpegFilterPlugin.cxx:21:
/usr/include/libavfilter/avfilter.h:691:62: error: use of enum ‘PixelFormat’ without previous declaration
  691 |                                           int w, int h, enum PixelFormat format);
      |                                                              ^~~~~~~~~~~
In file included from ../../src/filter/plugins/FfmpegFilter.hxx:24,
                 from ../../src/filter/plugins/FfmpegFilterPlugin.cxx:21:
../../src/lib/ffmpeg/Filter.hxx:39:2: error: ‘AVFilterInOut’ does not name a type; did you mean ‘FilterInOut’?
   39 |  AVFilterInOut *io = nullptr;
      |  ^~~~~~~~~~~~~
      |  FilterInOut
../../src/lib/ffmpeg/Filter.hxx:41:36: error: expected ‘)’ before ‘*’ token
   41 |  explicit FilterInOut(AVFilterInOut *_io) noexcept
      |                      ~             ^~
      |                                    )
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’:
../../src/lib/ffmpeg/Filter.hxx:48:4: error: class ‘Ffmpeg::FilterInOut’ does not have any field named ‘io’
   48 |   :io(avfilter_inout_alloc()) {
      |    ^~
../../src/lib/ffmpeg/Filter.hxx:48:7: error: ‘avfilter_inout_alloc’ was not declared in this scope
   48 |   :io(avfilter_inout_alloc()) {
      |       ^~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:49:7: error: ‘io’ was not declared in this scope
   49 |   if (io == nullptr)
      |       ^~
../../src/lib/ffmpeg/Filter.hxx:52:3: error: ‘io’ was not declared in this scope
   52 |   io->name = av_strdup(name);
      |   ^~
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:59:4: error: class ‘Ffmpeg::FilterInOut’ does not have any field named ‘io’
   59 |   :io(std::exchange(src.io, nullptr)) {}
      |    ^~
../../src/lib/ffmpeg/Filter.hxx:59:25: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
   59 |   :io(std::exchange(src.io, nullptr)) {}
      |                         ^~
../../src/lib/ffmpeg/Filter.hxx: In destructor ‘Ffmpeg::FilterInOut::~FilterInOut()’:
../../src/lib/ffmpeg/Filter.hxx:62:7: error: ‘io’ was not declared in this scope
   62 |   if (io != nullptr)
      |       ^~
../../src/lib/ffmpeg/Filter.hxx:63:4: error: ‘avfilter_inout_free’ was not declared in this scope; did you mean ‘avfilter_link_free’?
   63 |    avfilter_inout_free(&io);
      |    ^~~~~~~~~~~~~~~~~~~
      |    avfilter_link_free
../../src/lib/ffmpeg/Filter.hxx: In member function ‘Ffmpeg::FilterInOut& Ffmpeg::FilterInOut::operator=(Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:68:8: error: ‘io’ was not declared in this scope
   68 |   swap(io, src.io);
      |        ^~
../../src/lib/ffmpeg/Filter.hxx:68:16: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
   68 |   swap(io, src.io);
      |                ^~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto* Ffmpeg::FilterInOut::get()’:
../../src/lib/ffmpeg/Filter.hxx:73:10: error: ‘io’ was not declared in this scope
   73 |   return io;
      |          ^~
../../src/lib/ffmpeg/Filter.hxx: At global scope:
../../src/lib/ffmpeg/Filter.hxx:85:9: error: ‘AVFilterGraph’ has not been declared
   85 |         AVFilterGraph &graph_ctx) {
      |         ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:95:9: error: ‘AVFilterGraph’ has not been declared
   95 |         AVFilterGraph &graph_ctx)
      |         ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:119:10: error: ‘AVFilterGraph’ has not been declared
  119 |          AVFilterGraph &graph_ctx);
      |          ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:124:43: error: ‘AVFilterGraph’ has not been declared
  124 |  static FilterContext MakeAudioBufferSink(AVFilterGraph &graph_ctx);
      |                                           ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterContext::FilterContext(const AVFilter&, const char*, const char*, void*, int&)’:
../../src/lib/ffmpeg/Filter.hxx:86:13: error: ‘avfilter_graph_create_filter’ was not declared in this scope; did you mean ‘avfilter_insert_filter’?
   86 |   int err = avfilter_graph_create_filter(&context, &filt,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             avfilter_insert_filter
../../src/lib/ffmpeg/Filter.hxx: At global scope:
../../src/lib/ffmpeg/Filter.hxx:136:2: error: ‘AVFilterGraph’ does not name a type; did you mean ‘FilterGraph’?
  136 |  AVFilterGraph *graph = nullptr;
      |  ^~~~~~~~~~~~~
      |  FilterGraph
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterGraph::FilterGraph()’:
../../src/lib/ffmpeg/Filter.hxx:141:16: error: class ‘Ffmpeg::FilterGraph’ does not have any field named ‘graph’
  141 |  FilterGraph():graph(avfilter_graph_alloc()) {
      |                ^~~~~
../../src/lib/ffmpeg/Filter.hxx:141:22: error: ‘avfilter_graph_alloc’ was not declared in this scope
  141 |  FilterGraph():graph(avfilter_graph_alloc()) {
      |                      ^~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:142:7: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  142 |   if (graph == nullptr)
      |       ^~~~~
      |       isgraph
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterGraph::FilterGraph(Ffmpeg::FilterGraph&&)’:
../../src/lib/ffmpeg/Filter.hxx:147:4: error: class ‘Ffmpeg::FilterGraph’ does not have any field named ‘graph’
  147 |   :graph(std::exchange(src.graph, nullptr)) {}
      |    ^~~~~
../../src/lib/ffmpeg/Filter.hxx:147:28: error: ‘class Ffmpeg::FilterGraph’ has no member named ‘graph’
  147 |   :graph(std::exchange(src.graph, nullptr)) {}
      |                            ^~~~~
../../src/lib/ffmpeg/Filter.hxx: In destructor ‘Ffmpeg::FilterGraph::~FilterGraph()’:
../../src/lib/ffmpeg/Filter.hxx:150:7: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  150 |   if (graph != nullptr)
      |       ^~~~~
      |       isgraph
../../src/lib/ffmpeg/Filter.hxx:151:4: error: ‘avfilter_graph_free’ was not declared in this scope; did you mean ‘avfilter_link_free’?
  151 |    avfilter_graph_free(&graph);
      |    ^~~~~~~~~~~~~~~~~~~
      |    avfilter_link_free
../../src/lib/ffmpeg/Filter.hxx: In member function ‘Ffmpeg::FilterGraph& Ffmpeg::FilterGraph::operator=(Ffmpeg::FilterGraph&&)’:
../../src/lib/ffmpeg/Filter.hxx:156:8: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  156 |   swap(graph, src.graph);
      |        ^~~~~
      |        isgraph
../../src/lib/ffmpeg/Filter.hxx:156:19: error: ‘class Ffmpeg::FilterGraph’ has no member named ‘graph’
  156 |   swap(graph, src.graph);
      |                   ^~~~~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto& Ffmpeg::FilterGraph::operator*()’:
../../src/lib/ffmpeg/Filter.hxx:161:11: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  161 |   return *graph;
      |           ^~~~~
      |           isgraph
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto* Ffmpeg::FilterGraph::operator->()’:
../../src/lib/ffmpeg/Filter.hxx:165:10: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  165 |   return graph;
      |          ^~~~~
      |          isgraph
../../src/lib/ffmpeg/Filter.hxx: In member function ‘std::pair<Ffmpeg::FilterInOut, Ffmpeg::FilterInOut> Ffmpeg::FilterGraph::Parse(const char*, Ffmpeg::FilterInOut&&, Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:171:38: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  171 |   int err = avfilter_graph_parse_ptr(graph, filters,
      |                                      ^~~~~
      |                                      isgraph
../../src/lib/ffmpeg/Filter.hxx:172:18: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
  172 |          &inputs.io, &outputs.io,
      |                  ^~
../../src/lib/ffmpeg/Filter.hxx:172:31: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
  172 |          &inputs.io, &outputs.io,
      |                               ^~
../../src/lib/ffmpeg/Filter.hxx:171:13: error: ‘avfilter_graph_parse_ptr’ was not declared in this scope
  171 |   int err = avfilter_graph_parse_ptr(graph, filters,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘std::pair<Ffmpeg::FilterInOut, Ffmpeg::FilterInOut> Ffmpeg::FilterGraph::Parse(const char*)’:
../../src/lib/ffmpeg/Filter.hxx:181:3: error: ‘AVFilterInOut’ was not declared in this scope; did you mean ‘FilterInOut’?
  181 |   AVFilterInOut *inputs, *outputs;
      |   ^~~~~~~~~~~~~
      |   FilterInOut
../../src/lib/ffmpeg/Filter.hxx:181:18: error: ‘inputs’ was not declared in this scope; did you mean ‘puts’?
  181 |   AVFilterInOut *inputs, *outputs;
      |                  ^~~~~~
      |                  puts
../../src/lib/ffmpeg/Filter.hxx:181:27: error: ‘outputs’ was not declared in this scope; did you mean ‘puts’?
  181 |   AVFilterInOut *inputs, *outputs;
      |                           ^~~~~~~
      |                           puts
../../src/lib/ffmpeg/Filter.hxx:182:35: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  182 |   int err = avfilter_graph_parse2(graph, filters,
      |                                   ^~~~~
      |                                   isgraph
../../src/lib/ffmpeg/Filter.hxx:182:13: error: ‘avfilter_graph_parse2’ was not declared in this scope
  182 |   int err = avfilter_graph_parse2(graph, filters,
      |             ^~~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:187:43: error: no matching function for call to ‘Ffmpeg::FilterInOut::FilterInOut(<brace-enclosed initializer list>)’
  187 |   return std::make_pair(FilterInOut{inputs}, FilterInOut{outputs});
      |                                           ^
../../src/lib/ffmpeg/Filter.hxx:58:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’
   58 |  FilterInOut(FilterInOut &&src) noexcept
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:58:2: note:   conversion of argument 1 would be ill-formed:
../../src/lib/ffmpeg/Filter.hxx:47:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’
   47 |  FilterInOut(const char *name, AVFilterContext &context)
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:47:2: note:   candidate expects 2 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:45:2: note: candidate: ‘constexpr Ffmpeg::FilterInOut::FilterInOut()’
   45 |  FilterInOut() = default;
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:45:2: note:   candidate expects 0 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:187:65: error: no matching function for call to ‘Ffmpeg::FilterInOut::FilterInOut(<brace-enclosed initializer list>)’
  187 |   return std::make_pair(FilterInOut{inputs}, FilterInOut{outputs});
      |                                                                 ^
../../src/lib/ffmpeg/Filter.hxx:58:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’
   58 |  FilterInOut(FilterInOut &&src) noexcept
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:58:2: note:   conversion of argument 1 would be ill-formed:
../../src/lib/ffmpeg/Filter.hxx:47:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’
   47 |  FilterInOut(const char *name, AVFilterContext &context)
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:47:2: note:   candidate expects 2 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:45:2: note: candidate: ‘constexpr Ffmpeg::FilterInOut::FilterInOut()’
   45 |  FilterInOut() = default;
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:45:2: note:   candidate expects 0 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx: In member function ‘void Ffmpeg::FilterGraph::CheckAndConfigure()’:
../../src/lib/ffmpeg/Filter.hxx:191:35: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  191 |   int err = avfilter_graph_config(graph, nullptr);
      |                                   ^~~~~
      |                                   isgraph
../../src/lib/ffmpeg/Filter.hxx:191:13: error: ‘avfilter_graph_config’ was not declared in this scope
  191 |   int err = avfilter_graph_config(graph, nullptr);
      |             ^~~~~~~~~~~~~~~~~~~~~
../../src/filter/plugins/FfmpegFilterPlugin.cxx: In member function ‘virtual std::unique_ptr<Filter> PreparedFfmpegFilter::Open(AudioFormat&)’:
../../src/filter/plugins/FfmpegFilterPlugin.cxx:46:14: error: use of ‘auto& Ffmpeg::FilterGraph::operator*()’ before deduction of ‘auto’
   46 |             *graph);
      |              ^~~~~
../../src/filter/plugins/FfmpegFilterPlugin.cxx:48:65: error: use of ‘auto& Ffmpeg::FilterGraph::operator*()’ before deduction of ‘auto’
   48 |  auto buffer_sink = Ffmpeg::FilterContext::MakeAudioBufferSink(*graph);
      |                                                                 ^~~~~
../../src/filter/plugins/FfmpegFilterPlugin.cxx:55:19: error: use of ‘auto* Ffmpeg::FilterInOut::get()’ before deduction of ‘auto’
   55 |  if (io.first.get() != nullptr)
      |                   ^
../../src/filter/plugins/FfmpegFilterPlugin.cxx:58:20: error: use of ‘auto* Ffmpeg::FilterInOut::get()’ before deduction of ‘auto’
   58 |  if (io.second.get() != nullptr)
      |                    ^
[6/10] Compiling C++ object 'src/filter/plugins/00caeef@@filter_plugins@sta/HdcdFilterPlugin.cxx.o'.
FAILED: src/filter/plugins/00caeef@@filter_plugins@sta/HdcdFilterPlugin.cxx.o 
c++ -Isrc/filter/plugins/00caeef@@filter_plugins@sta -Isrc/filter/plugins -I../../src/filter/plugins -Isrc -I../../src -I. -I../../ -I/usr/include/aarch64-linux-gnu -I/storage/code/buildroot/buildroot-openlinux-g12b/output/mesong12b_w400_release/host/aarch64-linux-gnu/sysroot/nick1234/usr/include -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -std=c++17 -O3 -Wvla -Wdouble-promotion -fvisibility=hidden -ffast-math -ftree-vectorize -fno-threadsafe-statics -fmerge-all-constants -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wsign-compare -Wextra-semi -Wunused -Wno-non-virtual-dtor -ffunction-sections -fdata-sections -D_GNU_SOURCE -fPIC -MD -MQ 'src/filter/plugins/00caeef@@filter_plugins@sta/HdcdFilterPlugin.cxx.o' -MF 'src/filter/plugins/00caeef@@filter_plugins@sta/HdcdFilterPlugin.cxx.o.d' -o 'src/filter/plugins/00caeef@@filter_plugins@sta/HdcdFilterPlugin.cxx.o' -c ../../src/filter/plugins/HdcdFilterPlugin.cxx
In file included from ../../src/lib/ffmpeg/Filter.hxx:26,
                 from ../../src/filter/plugins/FfmpegFilter.hxx:24,
                 from ../../src/filter/plugins/HdcdFilterPlugin.cxx:21:
/usr/include/libavfilter/avfilter.h:691:62: error: use of enum ‘PixelFormat’ without previous declaration
  691 |                                           int w, int h, enum PixelFormat format);
      |                                                              ^~~~~~~~~~~
In file included from ../../src/filter/plugins/FfmpegFilter.hxx:24,
                 from ../../src/filter/plugins/HdcdFilterPlugin.cxx:21:
../../src/lib/ffmpeg/Filter.hxx:39:2: error: ‘AVFilterInOut’ does not name a type; did you mean ‘FilterInOut’?
   39 |  AVFilterInOut *io = nullptr;
      |  ^~~~~~~~~~~~~
      |  FilterInOut
../../src/lib/ffmpeg/Filter.hxx:41:36: error: expected ‘)’ before ‘*’ token
   41 |  explicit FilterInOut(AVFilterInOut *_io) noexcept
      |                      ~             ^~
      |                                    )
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’:
../../src/lib/ffmpeg/Filter.hxx:48:4: error: class ‘Ffmpeg::FilterInOut’ does not have any field named ‘io’
   48 |   :io(avfilter_inout_alloc()) {
      |    ^~
../../src/lib/ffmpeg/Filter.hxx:48:7: error: ‘avfilter_inout_alloc’ was not declared in this scope
   48 |   :io(avfilter_inout_alloc()) {
      |       ^~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:49:7: error: ‘io’ was not declared in this scope
   49 |   if (io == nullptr)
      |       ^~
../../src/lib/ffmpeg/Filter.hxx:52:3: error: ‘io’ was not declared in this scope
   52 |   io->name = av_strdup(name);
      |   ^~
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:59:4: error: class ‘Ffmpeg::FilterInOut’ does not have any field named ‘io’
   59 |   :io(std::exchange(src.io, nullptr)) {}
      |    ^~
../../src/lib/ffmpeg/Filter.hxx:59:25: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
   59 |   :io(std::exchange(src.io, nullptr)) {}
      |                         ^~
../../src/lib/ffmpeg/Filter.hxx: In destructor ‘Ffmpeg::FilterInOut::~FilterInOut()’:
../../src/lib/ffmpeg/Filter.hxx:62:7: error: ‘io’ was not declared in this scope
   62 |   if (io != nullptr)
      |       ^~
../../src/lib/ffmpeg/Filter.hxx:63:4: error: ‘avfilter_inout_free’ was not declared in this scope; did you mean ‘avfilter_link_free’?
   63 |    avfilter_inout_free(&io);
      |    ^~~~~~~~~~~~~~~~~~~
      |    avfilter_link_free
../../src/lib/ffmpeg/Filter.hxx: In member function ‘Ffmpeg::FilterInOut& Ffmpeg::FilterInOut::operator=(Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:68:8: error: ‘io’ was not declared in this scope
   68 |   swap(io, src.io);
      |        ^~
../../src/lib/ffmpeg/Filter.hxx:68:16: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
   68 |   swap(io, src.io);
      |                ^~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto* Ffmpeg::FilterInOut::get()’:
../../src/lib/ffmpeg/Filter.hxx:73:10: error: ‘io’ was not declared in this scope
   73 |   return io;
      |          ^~
../../src/lib/ffmpeg/Filter.hxx: At global scope:
../../src/lib/ffmpeg/Filter.hxx:85:9: error: ‘AVFilterGraph’ has not been declared
   85 |         AVFilterGraph &graph_ctx) {
      |         ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:95:9: error: ‘AVFilterGraph’ has not been declared
   95 |         AVFilterGraph &graph_ctx)
      |         ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:119:10: error: ‘AVFilterGraph’ has not been declared
  119 |          AVFilterGraph &graph_ctx);
      |          ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:124:43: error: ‘AVFilterGraph’ has not been declared
  124 |  static FilterContext MakeAudioBufferSink(AVFilterGraph &graph_ctx);
      |                                           ^~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterContext::FilterContext(const AVFilter&, const char*, const char*, void*, int&)’:
../../src/lib/ffmpeg/Filter.hxx:86:13: error: ‘avfilter_graph_create_filter’ was not declared in this scope; did you mean ‘avfilter_insert_filter’?
   86 |   int err = avfilter_graph_create_filter(&context, &filt,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             avfilter_insert_filter
../../src/lib/ffmpeg/Filter.hxx: At global scope:
../../src/lib/ffmpeg/Filter.hxx:136:2: error: ‘AVFilterGraph’ does not name a type; did you mean ‘FilterGraph’?
  136 |  AVFilterGraph *graph = nullptr;
      |  ^~~~~~~~~~~~~
      |  FilterGraph
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterGraph::FilterGraph()’:
../../src/lib/ffmpeg/Filter.hxx:141:16: error: class ‘Ffmpeg::FilterGraph’ does not have any field named ‘graph’
  141 |  FilterGraph():graph(avfilter_graph_alloc()) {
      |                ^~~~~
../../src/lib/ffmpeg/Filter.hxx:141:22: error: ‘avfilter_graph_alloc’ was not declared in this scope
  141 |  FilterGraph():graph(avfilter_graph_alloc()) {
      |                      ^~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:142:7: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  142 |   if (graph == nullptr)
      |       ^~~~~
      |       isgraph
../../src/lib/ffmpeg/Filter.hxx: In constructor ‘Ffmpeg::FilterGraph::FilterGraph(Ffmpeg::FilterGraph&&)’:
../../src/lib/ffmpeg/Filter.hxx:147:4: error: class ‘Ffmpeg::FilterGraph’ does not have any field named ‘graph’
  147 |   :graph(std::exchange(src.graph, nullptr)) {}
      |    ^~~~~
../../src/lib/ffmpeg/Filter.hxx:147:28: error: ‘class Ffmpeg::FilterGraph’ has no member named ‘graph’
  147 |   :graph(std::exchange(src.graph, nullptr)) {}
      |                            ^~~~~
../../src/lib/ffmpeg/Filter.hxx: In destructor ‘Ffmpeg::FilterGraph::~FilterGraph()’:
../../src/lib/ffmpeg/Filter.hxx:150:7: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  150 |   if (graph != nullptr)
      |       ^~~~~
      |       isgraph
../../src/lib/ffmpeg/Filter.hxx:151:4: error: ‘avfilter_graph_free’ was not declared in this scope; did you mean ‘avfilter_link_free’?
  151 |    avfilter_graph_free(&graph);
      |    ^~~~~~~~~~~~~~~~~~~
      |    avfilter_link_free
../../src/lib/ffmpeg/Filter.hxx: In member function ‘Ffmpeg::FilterGraph& Ffmpeg::FilterGraph::operator=(Ffmpeg::FilterGraph&&)’:
../../src/lib/ffmpeg/Filter.hxx:156:8: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  156 |   swap(graph, src.graph);
      |        ^~~~~
      |        isgraph
../../src/lib/ffmpeg/Filter.hxx:156:19: error: ‘class Ffmpeg::FilterGraph’ has no member named ‘graph’
  156 |   swap(graph, src.graph);
      |                   ^~~~~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto& Ffmpeg::FilterGraph::operator*()’:
../../src/lib/ffmpeg/Filter.hxx:161:11: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  161 |   return *graph;
      |           ^~~~~
      |           isgraph
../../src/lib/ffmpeg/Filter.hxx: In member function ‘auto* Ffmpeg::FilterGraph::operator->()’:
../../src/lib/ffmpeg/Filter.hxx:165:10: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  165 |   return graph;
      |          ^~~~~
      |          isgraph
../../src/lib/ffmpeg/Filter.hxx: In member function ‘std::pair<Ffmpeg::FilterInOut, Ffmpeg::FilterInOut> Ffmpeg::FilterGraph::Parse(const char*, Ffmpeg::FilterInOut&&, Ffmpeg::FilterInOut&&)’:
../../src/lib/ffmpeg/Filter.hxx:171:38: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  171 |   int err = avfilter_graph_parse_ptr(graph, filters,
      |                                      ^~~~~
      |                                      isgraph
../../src/lib/ffmpeg/Filter.hxx:172:18: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
  172 |          &inputs.io, &outputs.io,
      |                  ^~
../../src/lib/ffmpeg/Filter.hxx:172:31: error: ‘class Ffmpeg::FilterInOut’ has no member named ‘io’
  172 |          &inputs.io, &outputs.io,
      |                               ^~
../../src/lib/ffmpeg/Filter.hxx:171:13: error: ‘avfilter_graph_parse_ptr’ was not declared in this scope
  171 |   int err = avfilter_graph_parse_ptr(graph, filters,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx: In member function ‘std::pair<Ffmpeg::FilterInOut, Ffmpeg::FilterInOut> Ffmpeg::FilterGraph::Parse(const char*)’:
../../src/lib/ffmpeg/Filter.hxx:181:3: error: ‘AVFilterInOut’ was not declared in this scope; did you mean ‘FilterInOut’?
  181 |   AVFilterInOut *inputs, *outputs;
      |   ^~~~~~~~~~~~~
      |   FilterInOut
../../src/lib/ffmpeg/Filter.hxx:181:18: error: ‘inputs’ was not declared in this scope; did you mean ‘puts’?
  181 |   AVFilterInOut *inputs, *outputs;
      |                  ^~~~~~
      |                  puts
../../src/lib/ffmpeg/Filter.hxx:181:27: error: ‘outputs’ was not declared in this scope; did you mean ‘puts’?
  181 |   AVFilterInOut *inputs, *outputs;
      |                           ^~~~~~~
      |                           puts
../../src/lib/ffmpeg/Filter.hxx:182:35: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  182 |   int err = avfilter_graph_parse2(graph, filters,
      |                                   ^~~~~
      |                                   isgraph
../../src/lib/ffmpeg/Filter.hxx:182:13: error: ‘avfilter_graph_parse2’ was not declared in this scope
  182 |   int err = avfilter_graph_parse2(graph, filters,
      |             ^~~~~~~~~~~~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:187:43: error: no matching function for call to ‘Ffmpeg::FilterInOut::FilterInOut(<brace-enclosed initializer list>)’
  187 |   return std::make_pair(FilterInOut{inputs}, FilterInOut{outputs});
      |                                           ^
../../src/lib/ffmpeg/Filter.hxx:58:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’
   58 |  FilterInOut(FilterInOut &&src) noexcept
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:58:2: note:   conversion of argument 1 would be ill-formed:
../../src/lib/ffmpeg/Filter.hxx:47:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’
   47 |  FilterInOut(const char *name, AVFilterContext &context)
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:47:2: note:   candidate expects 2 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:45:2: note: candidate: ‘constexpr Ffmpeg::FilterInOut::FilterInOut()’
   45 |  FilterInOut() = default;
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:45:2: note:   candidate expects 0 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:187:65: error: no matching function for call to ‘Ffmpeg::FilterInOut::FilterInOut(<brace-enclosed initializer list>)’
  187 |   return std::make_pair(FilterInOut{inputs}, FilterInOut{outputs});
      |                                                                 ^
../../src/lib/ffmpeg/Filter.hxx:58:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(Ffmpeg::FilterInOut&&)’
   58 |  FilterInOut(FilterInOut &&src) noexcept
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:58:2: note:   conversion of argument 1 would be ill-formed:
../../src/lib/ffmpeg/Filter.hxx:47:2: note: candidate: ‘Ffmpeg::FilterInOut::FilterInOut(const char*, AVFilterContext&)’
   47 |  FilterInOut(const char *name, AVFilterContext &context)
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:47:2: note:   candidate expects 2 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx:45:2: note: candidate: ‘constexpr Ffmpeg::FilterInOut::FilterInOut()’
   45 |  FilterInOut() = default;
      |  ^~~~~~~~~~~
../../src/lib/ffmpeg/Filter.hxx:45:2: note:   candidate expects 0 arguments, 1 provided
../../src/lib/ffmpeg/Filter.hxx: In member function ‘void Ffmpeg::FilterGraph::CheckAndConfigure()’:
../../src/lib/ffmpeg/Filter.hxx:191:35: error: ‘graph’ was not declared in this scope; did you mean ‘isgraph’?
  191 |   int err = avfilter_graph_config(graph, nullptr);
      |                                   ^~~~~
      |                                   isgraph
../../src/lib/ffmpeg/Filter.hxx:191:13: error: ‘avfilter_graph_config’ was not declared in this scope
  191 |   int err = avfilter_graph_config(graph, nullptr);
      |             ^~~~~~~~~~~~~~~~~~~~~
../../src/filter/plugins/HdcdFilterPlugin.cxx: In function ‘auto OpenHdcdFilter(AudioFormat&)’:
../../src/filter/plugins/HdcdFilterPlugin.cxx:47:14: error: use of ‘auto& Ffmpeg::FilterGraph::operator*()’ before deduction of ‘auto’
   47 |             *graph);
      |              ^~~~~
../../src/filter/plugins/HdcdFilterPlugin.cxx:49:65: error: use of ‘auto& Ffmpeg::FilterGraph::operator*()’ before deduction of ‘auto’
   49 |  auto buffer_sink = Ffmpeg::FilterContext::MakeAudioBufferSink(*graph);
      |                                                                 ^~~~~
../../src/filter/plugins/HdcdFilterPlugin.cxx:57:19: error: use of ‘auto* Ffmpeg::FilterInOut::get()’ before deduction of ‘auto’
   57 |  if (io.first.get() != nullptr)
      |                   ^
../../src/filter/plugins/HdcdFilterPlugin.cxx:60:20: error: use of ‘auto* Ffmpeg::FilterInOut::get()’ before deduction of ‘auto’
   60 |  if (io.second.get() != nullptr)
      |                    ^
../../src/filter/plugins/HdcdFilterPlugin.cxx: In member function ‘virtual std::unique_ptr<Filter> PreparedHdcdFilter::Open(AudioFormat&)’:
../../src/filter/plugins/HdcdFilterPlugin.cxx:86:24: error: could not convert ‘OpenHdcdFilter((* & audio_format))’ from ‘void’ to ‘std::unique_ptr<Filter>’
   86 |   return OpenHdcdFilter(audio_format);
      |          ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
      |                        |
      |                        void
ninja: build stopped: subcommand failed.
What can i do ? The problem seems arround libavformat, libavcodec and libavutil. In the repo i have some "extra" version, when i switch between the two i get this error :

dpkg: libavcodec58:arm64: dependency problems, but removing anyway as you requested:
libchromaprint1:arm64 depends on libavcodec58 (>= 7:4.0).
libavformat58:arm64 depends on libavcodec58 (= 7:4.2.4-1ubuntu0.1).
libavfilter-extra7:arm64 depends on libavcodec58 (= 7:4.2.4-1ubuntu0.1).
libavdevice58:arm64 depends on libavcodec58 (= 7:4.2.4-1ubuntu0.1).
libavcodec-dev:arm64 depends on libavcodec58 (= 7:4.2.4-1ubuntu0.1).
ffmpeg depends on libavcodec58 (= 7:4.2.4-1ubuntu0.1).

Re: Cannot compile MPD on Vim3l / ubuntu 20.01

Posted: October 18th, 2020, 5:10 pm
by max
What about the dev packages? You posted the runtime packages, but when you ran Meson, the dev files were detected, but are not (anymore) installed.
Your Linux install looks really broken, but I doubt this is Ubuntu's fault.

Re: Cannot compile MPD on Vim3l / ubuntu 20.01

Posted: October 19th, 2020, 10:27 pm
by atohmdiy
I am not completely stupid you know, i can run a sudo apt command.

If you don't believe me :

Code: Select all

khadas@Khadas:~$ sudo apt search ffmpeg
[sudo] password for khadas: 
Sorting... Done
Full Text Search... Done
baresip-ffmpeg/focal 0.6.1-1build4 arm64
  portable and modular SIP user-agent - FFmpeg codecs and formats

chromium-codecs-ffmpeg/focal-updates 1:85.0.4183.83-0ubuntu0.20.04.1 arm64
  Transitional package - chromium-codecs-ffmpeg -> chromium-ffmpeg snap

chromium-codecs-ffmpeg-extra/focal-updates 1:85.0.4183.83-0ubuntu0.20.04.1 arm64
  Transitional package - chromium-codecs-ffmpeg-extra -> chromium-ffmpeg snap

cmus-plugin-ffmpeg/focal 2.8.0-2 arm64
  lightweight ncurses audio player (FFmpeg plugin)

ffcvt/focal,now 1.5.05-1 arm64 [installed]
  ffmpeg convert wrapper tool

ffmpeg/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  Tools for transcoding, streaming and playing of multimedia files

ffmpeg-doc/focal-security,focal-security,focal-updates,focal-updates 7:4.2.4-1ubuntu0.1 all
  Documentation of the FFmpeg multimedia framework

ffmpeg2theora/focal 0.30-2 arm64
  Theora video encoder using ffmpeg

ffmpegfs/focal 1.10-2 arm64
  Fuse Multi Media Filesystem

ffmpegthumbnailer/focal 2.1.1-0.2build2 arm64
  fast and lightweight video thumbnailer

ffmpegthumbnailer-dbg/focal 2.1.1-0.2build2 arm64
  debugging information for ffmpegthumbnailer

ffmpegthumbs/focal 4:19.12.3-0ubuntu1 arm64
  video thumbnail generator using ffmpeg

gmerlin-encoders-ffmpeg/focal 1.2.0-10 arm64
  ffmpeg encoders for Gmerlin

gstreamer1.0-libav/focal 1.16.2-2 arm64
  ffmpeg plugin for GStreamer

gstreamer1.0-libav-dbg/focal 1.16.2-2 arm64
  ffmpeg plugin for GStreamer (debug symbols)

libavcodec-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg library with de/encoders for audio/video codecs - development files

libavcodec-extra/focal-security,focal-updates 7:4.2.4-1ubuntu0.1 arm64
  FFmpeg library with extra codecs (metapackage)

libavcodec-extra58/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg library with additional de/encoders for audio/video codecs

libavcodec58/focal-security,focal-updates 7:4.2.4-1ubuntu0.1 arm64
  FFmpeg library with de/encoders for audio/video codecs - runtime files

libavdevice-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg library for handling input and output devices - development files

libavdevice58/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library for handling input and output devices - runtime files

libavfilter-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg library containing media filters - development files

libavfilter-extra/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg library with extra filters (metapackage)

libavfilter-extra7/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library with extra media filters - runtime files

libavfilter7/focal-security,focal-updates 7:4.2.4-1ubuntu0.1 arm64
  FFmpeg library containing media filters - runtime files

libavformat-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg library with (de)muxers for multimedia containers - development files

libavformat58/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library with (de)muxers for multimedia containers - runtime files

libavresample-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg compatibility library for resampling - development files

libavresample4/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg compatibility library for resampling - runtime files

libavutil-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed]
  FFmpeg library with functions for simplifying programming - development files

libavutil56/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library with functions for simplifying programming - runtime files

libffmpeg-nvenc-dev/focal,focal,now 9.1.23.1-0ubuntu1 all [installed]
  FFmpeg headers for interfacing with NVIDIA's codec APIs

libffmpeg-ocaml/focal,now 0.4.1-1build1 arm64 [installed,automatic]
  OCaml interface for FFmpeg -- runtime files

libffmpeg-ocaml-dev/focal,now 0.4.1-1build1 arm64 [installed]
  OCaml interface for FFmpeg -- development files

libffmpegthumbnailer-dev/focal 2.1.1-0.2build2 arm64
  development files for ffmpegthumbnailer

libffmpegthumbnailer4v5/focal 2.1.1-0.2build2 arm64
  shared library for ffmpegthumbnailer

libffms2-4/focal 2.23-4build1 arm64
  Cross platform ffmpeg wrapper library

libpostproc-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library for post processing - development files

libpostproc55/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library for post processing - runtime files

libsdl-kitchensink-dev/focal 1.0.7-1 arm64
  FFmpeg and SDL2 based library for audio and video playback - Development files

libsdl-kitchensink1/focal 1.0.7-1 arm64
  FFmpeg and SDL2 based library for audio and video playback

libspa-ffmpeg/focal 0.2.7-1 arm64
  libraries for the PipeWire multimedia server - ffmpeg plugins

libswresample-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library for audio resampling, rematrixing etc. - development files

libswresample3/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library for audio resampling, rematrixing etc. - runtime files

libswscale-dev/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library for image scaling and various conversions - development files

libswscale5/focal-security,focal-updates,now 7:4.2.4-1ubuntu0.1 arm64 [installed,automatic]
  FFmpeg library for image scaling and various conversions - runtime files

libxine2-ffmpeg/focal 1.2.9-1build5 arm64
  MPEG-related plugins for libxine2

moc-ffmpeg-plugin/focal 1:2.6.0~svn-r2994-3build1 arm64
  ncurses based console audio player - ffmpeg plugin

qwinff/focal 0.2.1+git20191128-1build1 arm64
  GUI for FFmpeg

winff/focal,focal 1.5.5-6 all
  graphical video and audio batch converter using ffmpeg or avconv
I will remove ffmpeg and do a complete reinstall a third time, i don't know maybe my keyboard was broken...

Re: Cannot compile MPD on Vim3l / ubuntu 20.01

Posted: October 24th, 2020, 1:28 pm
by atohmdiy
So you don't want to answer me anymore ?
Your Linux install looks really broken, but I doubt this is Ubuntu's fault.
Classic answer from the guy that think himself superior, another asshole that think "another fucking retarded in the wild who doesn't understand anything, does anything and complains on the forums". You are the retarded with you 1 sentence answer, no "Hello", no polite phrase, only a short answer with a loud thinking "it's your fault".

So if you are still interested i just use the -Dffmpeg=disabled in meson and i could compile. Too hard to tell me this the first time ?

And yes, i have hard time finding this command, meson documentation is as retarded as you. Great thing that mesa use meson now and that there doc was written to be understandable by human being.

Please ban me from this board, i don't care.

Re: Cannot compile MPD on Vim3l / ubuntu 20.01

Posted: October 24th, 2020, 3:56 pm
by max
Your insult has just led to a forum ban. Bye.