#1004632 wxsvg: FTBFS with ffmpeg 5.0

Package:
src:wxsvg
Source:
wxsvg
Submitter:
Sebastian Ramacher
Date:
2022-07-15 09:09:03 UTC
Severity:
serious
Tags:
#1004632#5
Date:
2022-01-30 22:00:52 UTC
From:
To:
Source: wxsvg
Version: 2:1.5.23+dfsg-1
Severity: important
X-Debbugs-Cc: sramacher@debian.org
Tags: sid bookworm ftbfs
Usertags: ffmpeg5.0

wxsvg FTBFS with ffmpeg5.0 in experimental:
| libtool: compile:  g++ -DPACKAGE_NAME=\"wxsvg\" -DPACKAGE_TARNAME=\"wxsvg\" -DPACKAGE_VERSION=\"1.5.23\" "-DPACKAGE_STRING=\"wxsvg 1.5.23\"" -DPACKAGE_BUGREPORT=\"http://wxsvg.sourceforge.net/\" -DPACKAGE_URL=\"\" -DPACKAGE=\"wxsvg\" -DVERSION=\"1.5.23\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I../include -I../include/wxSVG -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_RENDER_CAIRO -pthread -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/lib/x86_64-linux-gnu/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -DUSE_LIBAV -I/usr/include/x86_64-linux-gnu -c mediadec_ffmpeg.cpp  -fPIC -DPIC -o .libs/mediadec_ffmpeg.o
| mediadec_ffmpeg.cpp: In member function ‘virtual wxSize wxFfmpegMediaDecoder::GetVideoSize()’:
| mediadec_ffmpeg.cpp:102:42: error: invalid use of incomplete type ‘struct AVCodecContext’
|   102 |     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:102:61: error: invalid use of incomplete type ‘struct AVCodecContext’
|   102 |     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 ‘wxString wxFfmpegMediaDecoder::GetCodecName(unsigned int)’:
| mediadec_ffmpeg.cpp:156:46: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
|   156 |         AVCodec *codec = avcodec_find_decoder(m_formatCtx->streams[streamIndex]->codecpar->codec_id);
|       |                          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|       |                                              |
|       |                                              const AVCodec*
| mediadec_ffmpeg.cpp: In member function ‘bool wxFfmpegMediaDecoder::OpenVideoDecoder()’:
| mediadec_ffmpeg.cpp:196:46: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
|   196 |         AVCodec* codec = avcodec_find_decoder(stream->codecpar->codec_id);
|       |                          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
|       |                                              |
|       |                                              const AVCodec*
| mediadec_ffmpeg.cpp:199:22: error: ‘avcodec_alloc_context3’ was not declared in this scope; did you mean ‘avio_alloc_context’?
|   199 |         m_codecCtx = avcodec_alloc_context3(codec);
|       |                      ^~~~~~~~~~~~~~~~~~~~~~
|       |                      avio_alloc_context
| mediadec_ffmpeg.cpp:200:13: error: ‘avcodec_parameters_to_context’ was not declared in this scope; did you mean ‘avcodec_parameters_copy’?
|   200 |         if (avcodec_parameters_to_context(m_codecCtx, stream->codecpar) < 0
|       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|       |             avcodec_parameters_copy
| mediadec_ffmpeg.cpp:201:28: error: ‘avcodec_open2’ was not declared in this scope; did you mean ‘avio_open2’?
|   201 |                         || avcodec_open2(m_codecCtx, codec, NULL) < 0) {
|       |                            ^~~~~~~~~~~~~
|       |                            avio_open2
| mediadec_ffmpeg.cpp: In member function ‘void wxFfmpegMediaDecoder::CloseVideoDecoder()’:
| mediadec_ffmpeg.cpp:210:9: error: ‘avcodec_close’ was not declared in this scope; did you mean ‘avio_close’?
|   210 |         avcodec_close(m_codecCtx); // close the codec
|       |         ^~~~~~~~~~~~~
|       |         avio_close
| mediadec_ffmpeg.cpp: In member function ‘virtual bool wxFfmpegMediaDecoder::BeginDecode(int, int)’:
| mediadec_ffmpeg.cpp:219:37: error: invalid use of incomplete type ‘struct AVCodecContext’
|   219 |                 m_width = m_codecCtx->width;
|       |                                     ^~
| 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:220:38: error: invalid use of incomplete type ‘struct AVCodecContext’
|   220 |                 m_height = m_codecCtx->height;
|       |                                      ^~
| 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:222:35: error: invalid use of incomplete type ‘struct AVCodecContext’
|   222 |                 int w = m_codecCtx->width * height / m_codecCtx->height;
|       |                                   ^~
| 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:222:64: error: invalid use of incomplete type ‘struct AVCodecContext’
|   222 |                 int w = m_codecCtx->width * height / m_codecCtx->height;
|       |                                                                ^~
| 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:223:35: error: invalid use of incomplete type ‘struct AVCodecContext’
|   223 |                 int h = m_codecCtx->height * width / m_codecCtx->width;
|       |                                   ^~
| 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:223:64: error: invalid use of incomplete type ‘struct AVCodecContext’
|   223 |                 int h = m_codecCtx->height * width / m_codecCtx->width;
|       |                                                                ^~
| 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:230:9: error: ‘avcodec_close’ was not declared in this scope; did you mean ‘avio_close’?
|   230 |         avcodec_close(m_codecCtx);
|       |         ^~~~~~~~~~~~~
|       |         avio_close
| mediadec_ffmpeg.cpp: In member function ‘bool wxFfmpegMediaDecoder::SetPosition(double, bool, bool)’:
| mediadec_ffmpeg.cpp:245:5: error: ‘avcodec_flush_buffers’ was not declared in this scope
|   245 |     avcodec_flush_buffers(m_codecCtx);
|       |     ^~~~~~~~~~~~~~~~~~~~~
| mediadec_ffmpeg.cpp: In member function ‘double wxFfmpegMediaDecoder::GetPosition()’:
| mediadec_ffmpeg.cpp:258:33: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘cur_dts’
|   258 |         int64_t timestamp = st->cur_dts;
|       |                                 ^~~~~~~
| mediadec_ffmpeg.cpp: In function ‘int decode(AVCodecContext*, AVFrame*, int*, AVPacket*)’:
| mediadec_ffmpeg.cpp:272:23: error: ‘avcodec_send_packet’ was not declared in this scope; did you mean ‘avcodec_get_name’?
|   272 |                 ret = avcodec_send_packet(avctx, pkt);
|       |                       ^~~~~~~~~~~~~~~~~~~
|       |                       avcodec_get_name
| mediadec_ffmpeg.cpp:279:15: error: ‘avcodec_receive_frame’ was not declared in this scope; did you mean ‘avcodec_profile_name’?
|   279 |         ret = avcodec_receive_frame(avctx, frame);
|       |               ^~~~~~~~~~~~~~~~~~~~~
|       |               avcodec_profile_name
| mediadec_ffmpeg.cpp: In member function ‘virtual wxImage wxFfmpegMediaDecoder::GetNextFrame()’:
| mediadec_ffmpeg.cpp:300:86: error: invalid use of incomplete type ‘struct AVCodecContext’
|   300 |                                 SwsContext* imgConvertCtx = sws_getContext(m_codecCtx->width, m_codecCtx->height, m_codecCtx->pix_fmt,
|       |                                                                                      ^~
| 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:300:105: error: invalid use of incomplete type ‘struct AVCodecContext’
|   300 |                                 SwsContext* imgConvertCtx = sws_getContext(m_codecCtx->width, m_codecCtx->height, m_codecCtx->pix_fmt,
|       |                                                                                                         ^~
| 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:300:125: error: invalid use of incomplete type ‘struct AVCodecContext’
|   300 |                                 SwsContext* imgConvertCtx = sws_getContext(m_codecCtx->width, m_codecCtx->height, m_codecCtx->pix_fmt,
|       |                                                                                                                             ^~
| 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:310:105: error: invalid use of incomplete type ‘struct AVCodecContext’
|   310 |                                 sws_scale(imgConvertCtx, m_frame->data, m_frame->linesize, 0, m_codecCtx->height, rgbSrc, rgbStride);
|       |                                                                                                         ^~
| 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 ‘float wxFfmpegMediaDecoder::GetCodecTimeBase()’:
| mediadec_ffmpeg.cpp:351:46: error: invalid use of incomplete type ‘struct AVCodecContext’
|   351 |         if (m_codecCtx == NULL || !m_codecCtx->time_base.den || !m_codecCtx->time_base.den)
|       |                                              ^~
| 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:351:76: error: invalid use of incomplete type ‘struct AVCodecContext’
|   351 |         if (m_codecCtx == NULL || !m_codecCtx->time_base.den || !m_codecCtx->time_base.den)
|       |                                                                            ^~
| 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:353:37: error: invalid use of incomplete type ‘struct AVCodecContext’
|   353 |         return 1 / av_q2d(m_codecCtx->time_base);
|       |                                     ^~
| In file included from mediadec_ffmpeg.cpp:14:
| ../include/wxSVG/mediadec_ffmpeg.h:21:8: note: forward declaration of ‘struct AVCodecContext’
|    21 | struct AVCodecContext;
|       |        ^~~~~~~~~~~~~~
| make[3]: *** [Makefile:672: mediadec_ffmpeg.lo] Error 1

Cheers

#1004632#10
Date:
2022-01-30 22:54:36 UTC
From:
To:
On Sun, 30 Jan 2022 23:00:52 +0100 Sebastian Ramacher  <sramacher@debian.org> wrote:

 > wxsvg FTBFS using ffmpeg 5.0 from experimental

Right. I suppose this is the start of a process leading to ffmpeg
becomes part of regular bookworm.

Questions:

   - Will ffmpeg 4.x go away when 5.0 arrives?
   - Is there any estimated ETA for the 5.0 arrival?

cheers,
--alec

#1004632#15
Date:
2022-01-30 23:13:59 UTC
From:
To:
Yes.

Not yet. I'm still rebuilding reverse dependencies, but my plan is to
have ffmpeg 5.x in bookworm.

Cheers

#1004632#31
Date:
2022-07-15 09:05:40 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
wxsvg, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1004632@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alec Leamas <leamas.alec@gmail.com> (supplier of updated wxsvg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 14 Jul 2022 22:34:32 +0200
Source: wxsvg
Architecture: source
Version: 2:1.5.23+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Changed-By: Alec Leamas <leamas.alec@gmail.com>
Closes: 1004632
Changes:
 wxsvg (2:1.5.23+dfsg-2) unstable; urgency=medium
 .
   * New patch for ffmpeg5 FTBFS. Closes: #1004632.
   * d/control: Standards-version:  4.6.0 -> 4.6.1, no changes.
Checksums-Sha1:
 748d89b68d2deaacc51fb477d2b1a42501dbc544 2217 wxsvg_1.5.23+dfsg-2.dsc
 c426fdb0cf03200c965076eb02f67fc629606064 7068 wxsvg_1.5.23+dfsg-2.debian.tar.xz
 93cf5dc751a94550fe67d6eecfc764a30166d8d6 14263 wxsvg_1.5.23+dfsg-2_source.buildinfo
Checksums-Sha256:
 582edd3fb9c83b056c9f62301e78e57018ae55e4d95262927c3008033883324b 2217 wxsvg_1.5.23+dfsg-2.dsc
 e461692339d82bc84ea135698d15e3ff46541c688b12c0fa8f1d7b5f5840480f 7068 wxsvg_1.5.23+dfsg-2.debian.tar.xz
 bd1c512a8d25365c46eb1cbc8b01cbd325471f4171587284f3b917fcf944e9a5 14263 wxsvg_1.5.23+dfsg-2_source.buildinfo
Files:
 7bce55d3cef55c75e533ffc34562fd52 2217 libs optional wxsvg_1.5.23+dfsg-2.dsc
 8506a73558247c7a8806f5e0c634898c 7068 libs optional wxsvg_1.5.23+dfsg-2.debian.tar.xz
 3229e180c581ae606f6b3cc851a38b7d 14263 libs optional wxsvg_1.5.23+dfsg-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEkjZVexcMh/iCHArDweDZLphvfH4FAmLRJ8wACgkQweDZLphv
fH7tlxAAu1ayXTkbeGtvp/IFg3wzBJzY25TgC7NHRCCSDMomWZMqYXuP2CosVIZq
uCHg705GfNAk+nfzGgvuD35X1Sd29wcQ1CMTvbLvX2mVopEcDSuaTCXJyLJ1i8Nd
TmLH8x2YnBvnlIu9dR7zekK9WWS8F9LrChkLVMDHjfUq/TUzMlAm1GoNKqs5Dtjt
P5TeCKrC7J1eQEk89RVR6r9Rk2PAUEEsVneeE3NmJx/xnpnAhtlMngAyvqpBlAFQ
5GeiJHEns59TFMej/PewiheNfmSpvvwdBBaSCuUbBieyBRhdqT5d7vTJ8AmBhvBe
1IuHTll/ZxRdBn8N9IJh1TmyGA0or2ZR8wJyvGW9gWrdw/s4HFx85bktA0rjBPEq
bSolgF/zjIS1wGxgOfWYu+ozCHhiQH0zuPzaAzC0GPc1ugI+1qspnG3vPfjsqLrE
ee35CduYrNkw6V4/0jJu2hgq0eqN8CEymyGZjfh8wqrHpDrc23J1ttqE9cGljSl3
C5MzbN/Z7Hh+poYpKa4T+ZupPuf3C4NMSAfwgPmaC2sGFpv9F6Ep6dLp2a0or3a1
iRvGW6kRQvBKGEvVk6JjFzOcC7OFvMT8sgsHiEZeiTjyzgXv5lvM1BkVH7yXGiOK
DhR8Bd6HOP56KmT58t299v9buXT8xxB4ro4bfbxR+E3Pp+nETMg=
=V9PO
-----END PGP SIGNATURE-----