ffmpegthumbnailer icon indicating copy to clipboard operation
ffmpegthumbnailer copied to clipboard

Unable to build on Arch (Manjaro)

Open sxiii opened this issue 5 years ago • 0 comments

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<AVBufferSinkParams, decltype(del)> 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<int32_t*>(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<int32_t*>(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

sxiii avatar Sep 03 '20 07:09 sxiii