dirkvdb / ffmpegthumbnailer

Lightweight video thumbnailer that can be used by file managers to create thumbnails for video files
GNU General Public License v2.0
524 stars 72 forks source link

Unable to build on Arch (Manjaro) #191

Closed sxiii closed 3 weeks ago

sxiii commented 4 years ago

I am trying to build either "normal" or "static" build for ffmpegthumnailer on Manjaro Linux recent from this PKGBUILD:

https://github.com/archlinux/svntogit-packages/blob/packages/ffmpegthumbnailer/trunk/PKGBUILD

Getting this error ``` [ 44%] Building CXX object CMakeFiles/libffmpegthumbnailerobj.dir/libffmpegthumbnailer/pngwriter.cpp.o In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:475:6: error: multiple definition of ‘enum AVColorPrimaries’ 475 | enum AVColorPrimaries{ | ^~~~~~~~~~~~~~~~ In file included from /usr/include/libavutil/avutil.h:303, from /usr/include/libavutil/mem.h:35, from /usr/include/libavutil/common.h:530, from /usr/include/libavutil/display.h:30, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:28: /usr/include/libavutil/pixfmt.h:455:6: note: previous definition here 455 | enum AVColorPrimaries { | ^~~~~~~~~~~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:486:6: error: multiple definition of ‘enum AVColorTransferCharacteristic’ 486 | enum AVColorTransferCharacteristic{ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/libavutil/avutil.h:303, from /usr/include/libavutil/mem.h:35, from /usr/include/libavutil/common.h:530, from /usr/include/libavutil/display.h:30, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:28: /usr/include/libavutil/pixfmt.h:480:6: note: previous definition here 480 | enum AVColorTransferCharacteristic { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:494:6: error: multiple definition of ‘enum AVColorSpace’ 494 | enum AVColorSpace{ | ^~~~~~~~~~~~ In file included from /usr/include/libavutil/avutil.h:303, from /usr/include/libavutil/mem.h:35, from /usr/include/libavutil/common.h:530, from /usr/include/libavutil/display.h:30, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:28: /usr/include/libavutil/pixfmt.h:509:6: note: previous definition here 509 | enum AVColorSpace { | ^~~~~~~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:505:6: error: multiple definition of ‘enum AVColorRange’ 505 | enum AVColorRange{ | ^~~~~~~~~~~~ In file included from /usr/include/libavutil/avutil.h:303, from /usr/include/libavutil/mem.h:35, from /usr/include/libavutil/common.h:530, from /usr/include/libavutil/display.h:30, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:28: /usr/include/libavutil/pixfmt.h:532:6: note: previous definition here 532 | enum AVColorRange { | ^~~~~~~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:517:6: error: multiple definition of ‘enum AVChromaLocation’ 517 | enum AVChromaLocation{ | ^~~~~~~~~~~~~~~~ In file included from /usr/include/libavutil/avutil.h:303, from /usr/include/libavutil/mem.h:35, from /usr/include/libavutil/common.h:530, from /usr/include/libavutil/display.h:30, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:28: /usr/include/libavutil/pixfmt.h:554:6: note: previous definition here 554 | enum AVChromaLocation { | ^~~~~~~~~~~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:1019:16: error: redefinition of ‘struct AVFrame’ 1019 | typedef struct AVFrame { | ^~~~~~~ In file included from /usr/include/libavfilter/avfilter.h:44, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:31: /usr/include/libavutil/frame.h:300:16: note: previous definition of ‘struct AVFrame’ 300 | typedef struct AVFrame { | ^~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:1021:3: error: conflicting declaration ‘typedef int AVFrame’ 1021 | } AVFrame; | ^~~~~~~ In file included from /usr/include/libavfilter/avfilter.h:44, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:31: /usr/include/libavutil/frame.h:680:3: note: previous declaration as ‘typedef struct AVFrame AVFrame’ 680 | } AVFrame; | ^~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:1125:10: error: use of enum ‘PixelFormat’ without previous declaration 1125 | enum PixelFormat pix_fmt; | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:1824:10: error: use of enum ‘PixelFormat’ without previous declaration 1824 | enum PixelFormat (*get_format)(struct AVCodecContext *s, const enum PixelFormat * fmt); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:1824:73: error: use of enum ‘PixelFormat’ without previous declaration 1824 | enum PixelFormat (*get_format)(struct AVCodecContext *s, const enum PixelFormat * fmt); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:2687:16: error: use of enum ‘PixelFormat’ without previous declaration 2687 | const enum PixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:2728:10: error: use of enum ‘PixelFormat’ without previous declaration 2728 | enum PixelFormat pix_fmt; | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3012:46: error: use of enum ‘PixelFormat’ without previous declaration 3012 | int avpicture_alloc(AVPicture *picture, enum PixelFormat pix_fmt, int width, int height); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3039:25: error: use of enum ‘PixelFormat’ without previous declaration 3039 | enum PixelFormat pix_fmt, int width, int height); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3040:49: error: use of enum ‘PixelFormat’ without previous declaration 3040 | int avpicture_layout(const AVPicture* src, enum PixelFormat pix_fmt, int width, int height, | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3055:29: error: use of enum ‘PixelFormat’ without previous declaration 3055 | int avpicture_get_size(enum PixelFormat pix_fmt, int width, int height); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3056:41: error: use of enum ‘PixelFormat’ without previous declaration 3056 | void avcodec_get_chroma_sub_sample(enum PixelFormat pix_fmt, int *h_shift, int *v_shift); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3057:43: error: use of enum ‘PixelFormat’ without previous declaration 3057 | const char *avcodec_get_pix_fmt_name(enum PixelFormat pix_fmt); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3074:27: error: use of enum ‘PixelFormat’ without previous declaration 3074 | attribute_deprecated enum PixelFormat avcodec_get_pix_fmt(const char* name); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3082:48: error: use of enum ‘PixelFormat’ without previous declaration 3082 | unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat pix_fmt); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3108:35: error: use of enum ‘PixelFormat’ without previous declaration 3108 | int avcodec_get_pix_fmt_loss(enum PixelFormat dst_pix_fmt, enum PixelFormat src_pix_fmt, | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3108:65: error: use of enum ‘PixelFormat’ without previous declaration 3108 | int avcodec_get_pix_fmt_loss(enum PixelFormat dst_pix_fmt, enum PixelFormat src_pix_fmt, | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3133:6: error: use of enum ‘PixelFormat’ without previous declaration 3133 | enum PixelFormat avcodec_find_best_pix_fmt(int64_t pix_fmt_mask, enum PixelFormat src_pix_fmt, | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3133:71: error: use of enum ‘PixelFormat’ without previous declaration 3133 | enum PixelFormat avcodec_find_best_pix_fmt(int64_t pix_fmt_mask, enum PixelFormat src_pix_fmt, | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3147:60: error: use of enum ‘PixelFormat’ without previous declaration 3147 | void avcodec_pix_fmt_string (char *buf, int buf_size, enum PixelFormat pix_fmt); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3157:29: error: use of enum ‘PixelFormat’ without previous declaration 3157 | enum PixelFormat pix_fmt, int width, int height); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3162:32: error: use of enum ‘PixelFormat’ without previous declaration 3162 | enum PixelFormat pix_fmt, int width, int height); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3339:6: error: use of enum ‘PixelFormat’ without previous declaration 3339 | enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum PixelFormat * fmt); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3339:82: error: use of enum ‘PixelFormat’ without previous declaration 3339 | enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum PixelFormat * fmt); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3839:7: error: conflicting declaration of C function ‘void* av_fast_realloc(void*, unsigned int*, unsigned int)’ 3839 | void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size); | ^~~~~~~~~~~~~~~ In file included from /usr/include/libavutil/common.h:530, from /usr/include/libavutil/display.h:30, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:28: /usr/include/libavutil/mem.h:376:7: note: previous declaration ‘void* av_fast_realloc(void*, unsigned int*, size_t)’ 376 | void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size); | ^~~~~~~~~~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:3853:6: error: conflicting declaration of C function ‘void av_fast_malloc(void*, unsigned int*, unsigned int)’ 3853 | void av_fast_malloc(void *ptr, unsigned int *size, unsigned int min_size); | ^~~~~~~~~~~~~~ In file included from /usr/include/libavutil/common.h:530, from /usr/include/libavutil/display.h:30, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:28: /usr/include/libavutil/mem.h:407:6: note: previous declaration ‘void av_fast_malloc(void*, unsigned int*, size_t)’ 407 | void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size); | ^~~~~~~~~~~~~~ In file included from /usr/local/include/libavformat/avformat.h:56, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavcodec/avcodec.h:3859:27: error: use of enum ‘PixelFormat’ without previous declaration 3859 | enum PixelFormat pix_fmt, int width, int height); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3865:26: error: use of enum ‘PixelFormat’ without previous declaration 3865 | enum PixelFormat pix_fmt, int top_band, int left_band); | ^~~~~~~~~~~ /usr/local/include/libavcodec/avcodec.h:3870:86: error: use of enum ‘PixelFormat’ without previous declaration 3870 | int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum PixelFormat pix_fmt, | ^~~~~~~~~~~ In file included from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavformat/avformat.h:223:10: error: use of enum ‘PixelFormat’ without previous declaration 223 | enum PixelFormat pix_fmt; | ^~~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘void ffmpegthumbnailer::MovieDecoder::initialize(const string&, bool)’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:75:5: error: ‘avformat_network_init’ was not declared in this scope 75 | avformat_network_init(); | ^~~~~~~~~~~~~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:80:39: error: ‘avformat_open_input’ was not declared in this scope 80 | if ((!m_FormatContextWasGiven) && avformat_open_input(&m_pFormatContext, inputFile.c_str(), nullptr, nullptr) != 0) | ^~~~~~~~~~~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:86:9: error: ‘avformat_find_stream_info’ was not declared in this scope; did you mean ‘av_find_stream_info’? 86 | if (avformat_find_stream_info(m_pFormatContext, nullptr) < 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~ | av_find_stream_info /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘void ffmpegthumbnailer::MovieDecoder::destroy()’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:106:9: error: ‘avformat_close_input’ was not declared in this scope 106 | avformat_close_input(&m_pFormatContext); | ^~~~~~~~~~~~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:111:9: error: ‘av_packet_unref’ was not declared in this scope; did you mean ‘av_frame_unref’? 111 | av_packet_unref(m_pPacket); | ^~~~~~~~~~~~~~~ | av_frame_unref /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:123:5: error: ‘avformat_network_deinit’ was not declared in this scope 123 | avformat_network_deinit(); | ^~~~~~~~~~~~~~~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: At global scope: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:141:31: error: ‘AVCodecID’ was not declared in this scope; did you mean ‘AVCodec’? 141 | static bool isStillImageCodec(AVCodecID codecId) | ^~~~~~~~~ | AVCodec /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘int32_t ffmpegthumbnailer::MovieDecoder::findPreferedVideoStream(bool)’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:158:76: error: ‘ffmpegthumbnailer::isStillImageCodec’ cannot be used as a function 158 | if (!preferEmbeddedMetadata || !isStillImageCodec(ctx->codec_id)) | ^ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:167:51: error: cannot convert ‘AVMetadata*’ to ‘const AVDictionary*’ 167 | while ((tag = av_dict_get(stream->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) | ~~~~~~~~^~~~~~~~ | | | AVMetadata* In file included from /usr/include/libavutil/opt.h:32, from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:30: /usr/include/libavutil/dict.h:103:52: note: initializing argument 1 of ‘AVDictionaryEntry* av_dict_get(const AVDictionary*, const char*, const AVDictionaryEntry*, int)’ 103 | AVDictionaryEntry *av_dict_get(const AVDictionary *m, const char *key, | ~~~~~~~~~~~~~~~~~~~~^ In file included from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:34: /usr/local/include/libavformat/avformat.h:129:16: note: class type ‘AVMetadata’ is incomplete 129 | typedef struct AVMetadata AVMetadata; | ^~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘void ffmpegthumbnailer::MovieDecoder::initializeVideo(bool)’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:219:9: error: ‘avcodec_open2’ was not declared in this scope; did you mean ‘avcodec_open’? 219 | if (avcodec_open2(m_pVideoCodecContext, m_pVideoCodec, nullptr) < 0) | ^~~~~~~~~~~~~ | avcodec_open /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘std::string ffmpegthumbnailer::MovieDecoder::createScaleString(const string&, bool)’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:317:26: error: ‘av_guess_sample_aspect_ratio’ was not declared in this scope; did you mean ‘av_buffersink_get_sample_aspect_ratio’? 317 | AVRational par = av_guess_sample_aspect_ratio(m_pFormatContext, m_pVideoStream, m_pFrame); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | av_buffersink_get_sample_aspect_ratio /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘void ffmpegthumbnailer::MovieDecoder::initializeFilterGraph(const AVRational&, const string&, bool)’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:392:100: warning: ‘AVBufferSinkParams* av_buffersink_params_alloc()’ is deprecated [-Wdeprecated-declarations] 392 | std::unique_ptr buffersinkParams(av_buffersink_params_alloc(), del); | ^ In file included from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:32: /usr/include/libavfilter/buffersink.h:76:21: note: declared here 76 | AVBufferSinkParams *av_buffersink_params_alloc(void); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:394:27: warning: ‘void avfilter_register_all()’ is deprecated [-Wdeprecated-declarations] 394 | avfilter_register_all(); | ^ In file included from /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:31: /usr/include/libavfilter/avfilter.h:714:6: note: declared here 714 | void avfilter_register_all(void); | ^~~~~~~~~~~~~~~~~~~~~ /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘bool ffmpegthumbnailer::MovieDecoder::getVideoPacket()’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:577:9: error: ‘av_packet_unref’ was not declared in this scope; did you mean ‘av_frame_unref’? 577 | av_packet_unref(m_pPacket); | ^~~~~~~~~~~~~~~ | av_frame_unref /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:591:17: error: ‘av_packet_unref’ was not declared in this scope; did you mean ‘av_frame_unref’? 591 | av_packet_unref(m_pPacket); | ^~~~~~~~~~~~~~~ | av_frame_unref /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp: In member function ‘int32_t ffmpegthumbnailer::MovieDecoder::getStreamRotation()’: /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:647:90: error: ‘AV_PKT_DATA_DISPLAYMATRIX’ was not declared in this scope; did you mean ‘AV_FRAME_DATA_DISPLAYMATRIX’? 647 | int32_t* matrix = reinterpret_cast(av_stream_get_side_data(m_pVideoStream, AV_PKT_DATA_DISPLAYMATRIX, nullptr)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ | AV_FRAME_DATA_DISPLAYMATRIX /home/sw/ffmpegthumb/src/ffmpegthumbnailer-2.2.2/libffmpegthumbnailer/moviedecoder.cpp:647:50: error: ‘av_stream_get_side_data’ was not declared in this scope; did you mean ‘av_frame_get_side_data’? 647 | int32_t* matrix = reinterpret_cast(av_stream_get_side_data(m_pVideoStream, AV_PKT_DATA_DISPLAYMATRIX, nullptr)); | ^~~~~~~~~~~~~~~~~~~~~~~ | av_frame_get_side_data make[2]: *** [CMakeFiles/libffmpegthumbnailerobj.dir/build.make:82: CMakeFiles/libffmpegthumbnailerobj.dir/libffmpegthumbnailer/moviedecoder.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:203: CMakeFiles/libffmpegthumbnailerobj.dir/all] Error 2 make: *** [Makefile:182: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... ```

Same happens for compiling from the master tree (source). I think this is might have to do something with ffmpeg version installed in the system (I have the 4.3.1) but I am totally unsure if it's possible to overcome this problem without using another (empty) system or docker.

Thank you. D

dirkvdb commented 3 weeks ago

Closing this. Reopen if needed