Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 834387

Summary: media-libs/wxsvg-1.5.11-r1 with ffmpeg-5.0: mediadec_ffmpeg.cpp:49:5: error: ‘av_register_all’ was not declared in this scope
Product: Gentoo Linux Reporter: Kobboi <gentoo>
Component: Current packagesAssignee: Gentoo wxWidgets project <wxwidgets>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 831437    
Attachments: build.log.gz
emerge-info.txt

Description Kobboi 2022-02-28 19:53:30 UTC
libtool: compile:  x86_64-pc-linux-gnu-g++ -DPACKAGE_NAME=\"wxsvg\" -DPACKAGE_TARNAME=\"wxsvg\" -DPACKAGE_VERSION=\"1.5.11\" "-DPACKAGE_STRING=\"wxsvg 1.5.11\"" -DPACKAGE_BUGREPORT=\"wx-svg-users@lists.sourceforge.net\" -DPACKAGE_URL=\"\" -DPACKAGE=\"wxsvg\" -DVERSION=\"1.5.11\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I../include -I../include/wxSVG -DNDEBUG -O2 -march=znver3 -pipe -g -ggdb3 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/lib64/libffi/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/uuid -pthread -I/usr/include/libpng16 -DUSE_RENDER_CAIRO -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/lib64/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -pthread -I/usr/lib64/wx/include/gtk2-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -DUSE_LIBAV -c mediadec_ffmpeg.cpp  -fPIC -DPIC -o .libs/mediadec_ffmpeg.o
mediadec_ffmpeg.cpp: In static member function ‘static void wxFfmpegMediaDecoder::Init()’:
mediadec_ffmpeg.cpp:49:5: error: ‘av_register_all’ was not declared in this scope
   49 |     av_register_all();
      |     ^~~~~~~~~~~~~~~
mediadec_ffmpeg.cpp: In member function ‘virtual wxSize wxFfmpegMediaDecoder::GetVideoSize()’:
mediadec_ffmpeg.cpp:99:42: error: invalid use of incomplete type ‘struct AVCodecContext’
   99 |     return m_codecCtx ? wxSize(m_codecCtx->width, m_codecCtx->height) : wxSize();
      |                                          ^~
In file included from mediadec_ffmpeg.cpp:14:
../include/wxSVG/mediadec_ffmpeg.h:21:8: note: forward declaration of ‘struct AVCodecContext’
   21 | struct AVCodecContext;
      |        ^~~~~~~~~~~~~~
mediadec_ffmpeg.cpp:99:61: error: invalid use of incomplete type ‘struct AVCodecContext’
   99 |     return m_codecCtx ? wxSize(m_codecCtx->width, m_codecCtx->height) : wxSize();
      |                                                             ^~
In file included from mediadec_ffmpeg.cpp:14:
../include/wxSVG/mediadec_ffmpeg.h:21:8: note: forward declaration of ‘struct AVCodecContext’
   21 | struct AVCodecContext;
      |        ^~~~~~~~~~~~~~
mediadec_ffmpeg.cpp: In member function ‘virtual float wxFfmpegMediaDecoder::GetFrameAspectRatio()’:
mediadec_ffmpeg.cpp:113:35: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
  113 |         AVCodecContext *enc = st->codec;
      |                                   ^~~~~
mediadec_ffmpeg.cpp:116:21: error: invalid use of incomplete type ‘struct AVCodecContext’
  116 |         else if (enc->sample_aspect_ratio.num)
      |                     ^~
In file included from mediadec_ffmpeg.cpp:14:
../include/wxSVG/mediadec_ffmpeg.h:21:8: note: forward declaration of ‘struct AVCodecContext’
   21 | struct AVCodecContext;
      |        ^~~~~~~~~~~~~~
mediadec_ffmpeg.cpp:117:48: error: invalid use of incomplete type ‘struct AVCodecContext’
  117 |                 frame_aspect_ratio = av_q2d(enc->sample_aspect_ratio);
      |                                                ^~
In file included from mediadec_ffmpeg.cpp:14:
../include/wxSVG/mediadec_ffmpeg.h:21:8: note: forward declaration of ‘struct AVCodecContext’
   21 | struct AVCodecContext;
      |        ^~~~~~~~~~~~~~
mediadec_ffmpeg.cpp:118:42: error: invalid use of incomplete type ‘struct AVCodecContext’
  118 |         frame_aspect_ratio *= (float) enc->width / enc->height;
      |                                          ^~


Reproducible: Always
Comment 1 Kobboi 2022-02-28 19:53:40 UTC
Created attachment 766037 [details]
build.log.gz
Comment 2 Kobboi 2022-02-28 19:53:42 UTC
Created attachment 766038 [details]
emerge-info.txt
Comment 3 Kobboi 2022-02-28 19:54:05 UTC
Compiles fine with ffmpeg-4.4.1
Comment 4 Alexis Ballier gentoo-dev 2022-03-12 13:10:23 UTC
commit d6fd9cfb26299c76be7483cac4451a226ab8e37f
Author: Alexis Ballier <aballier@gentoo.org>
Date:   Mon Feb 28 10:15:14 2022 +0100

    media-libs/wxsvg: bump to 1.5.23
    
    use gtk3, build with ffmpeg5
    
    Package-Manager: Portage-3.0.30, Repoman-3.0.3
    Signed-off-by: Alexis Ballier <aballier@gentoo.org>