Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1004811: survex: FTBFS with ffmpeg 5.0

130 views
Skip to first unread message

Sebastian Ramacher

unread,
Feb 1, 2022, 5:30:05 PM2/1/22
to
Source: survex
Version: 1.4.1-1
Severity: important
X-Debbugs-Cc: sram...@debian.org
Tags: sid bookworm ftbfs
Usertags: ffmpeg5.0

survex FTBFS with ffmpeg 5.0 in experimental:

g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -W -Wunused -Wshadow -Wpointer-arith -Wwrite-strings -Wcast-align -I/usr/include/x86_64-linux-gnu -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 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o aven-hpgl.o `test -f 'hpgl.cc' || echo './'`hpgl.cc
moviemaker.cc: In member function ‘bool MovieMaker::Open(FILE*, const char*, int, int)’:
moviemaker.cc:135:32: error: invalid conversion from ‘const AVOutputFormat*’ to ‘AVOutputFormat*’ [-fpermissive]
135 | AVOutputFormat * fmt = oc->oformat;
| ~~~~^~~~~~~
| |
| const AVOutputFormat*
moviemaker.cc:142:42: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
142 | AVCodec *codec = avcodec_find_encoder(fmt->video_codec);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
| |
| const AVCodec*
moviemaker.cc:156:15: error: ‘avcodec_alloc_context3’ was not declared in this scope; did you mean ‘avio_alloc_context’?
156 | context = avcodec_alloc_context3(codec);
| ^~~~~~~~~~~~~~~~~~~~~~
| avio_alloc_context
moviemaker.cc:157:12: error: invalid use of incomplete type ‘struct AVCodecContext’
157 | context->codec_id = fmt->video_codec;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:158:12: error: invalid use of incomplete type ‘struct AVCodecContext’
158 | context->width = width;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:159:12: error: invalid use of incomplete type ‘struct AVCodecContext’
159 | context->height = height;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:162:12: error: invalid use of incomplete type ‘struct AVCodecContext’
162 | context->time_base = video_st->time_base;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:163:12: error: invalid use of incomplete type ‘struct AVCodecContext’
163 | context->bit_rate = width * height * (4 * 0.07) * context->time_base.den / context->time_base.num;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:163:62: error: invalid use of incomplete type ‘struct AVCodecContext’
163 | context->bit_rate = width * height * (4 * 0.07) * context->time_base.den / context->time_base.num;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:163:87: error: invalid use of incomplete type ‘struct AVCodecContext’
163 | context->bit_rate = width * height * (4 * 0.07) * context->time_base.den / context->time_base.num;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:164:12: error: invalid use of incomplete type ‘struct AVCodecContext’
164 | context->bit_rate_tolerance = context->bit_rate;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:164:42: error: invalid use of incomplete type ‘struct AVCodecContext’
164 | context->bit_rate_tolerance = context->bit_rate;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:165:12: error: invalid use of incomplete type ‘struct AVCodecContext’
165 | context->global_quality = 4;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:166:12: error: invalid use of incomplete type ‘struct AVCodecContext’
166 | context->rc_buffer_size = 2 * 1024 * 1024;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:167:12: error: invalid use of incomplete type ‘struct AVCodecContext’
167 | context->rc_max_rate = context->bit_rate * 8;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:167:35: error: invalid use of incomplete type ‘struct AVCodecContext’
167 | context->rc_max_rate = context->bit_rate * 8;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:168:12: error: invalid use of incomplete type ‘struct AVCodecContext’
168 | context->gop_size = 50; /* Twice the framerate */
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:169:12: error: invalid use of incomplete type ‘struct AVCodecContext’
169 | context->pix_fmt = AV_PIX_FMT_YUV420P;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:170:16: error: invalid use of incomplete type ‘struct AVCodecContext’
170 | if (context->has_b_frames) {
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:173:16: error: invalid use of incomplete type ‘struct AVCodecContext’
173 | context->max_b_frames = 4;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:178:16: error: invalid use of incomplete type ‘struct AVCodecContext’
178 | context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:178:27: error: ‘AV_CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope
178 | context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
moviemaker.cc:181:14: error: ‘avcodec_open2’ was not declared in this scope; did you mean ‘avio_open2’?
181 | retval = avcodec_open2(context, codec, NULL);
| ^~~~~~~~~~~~~
| avio_open2
moviemaker.cc:194:28: error: invalid use of incomplete type ‘struct AVCodecContext’
194 | frame->format = context->pix_fmt;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc:212:14: error: ‘avcodec_parameters_from_context’ was not declared in this scope; did you mean ‘avcodec_parameters_free’?
212 | retval = avcodec_parameters_from_context(video_st->codecpar, context);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| avcodec_parameters_free
moviemaker.cc:229:52: error: invalid use of incomplete type ‘struct AVCodecContext’
229 | width, height, context->pix_fmt, SWS_BICUBIC,
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc: In member function ‘int MovieMaker::encode_frame(AVFrame*)’:
moviemaker.cc:297:15: error: ‘avcodec_send_frame’ was not declared in this scope; did you mean ‘avcodec_get_name’?
297 | int ret = avcodec_send_frame(context, frame_or_null);
| ^~~~~~~~~~~~~~~~~~
| avcodec_get_name
moviemaker.cc:302:19: error: ‘avcodec_receive_packet’ was not declared in this scope
302 | while ((ret = avcodec_receive_packet(context, pkt)) == 0) {
| ^~~~~~~~~~~~~~~~~~~~~~
moviemaker.cc:304:42: error: invalid use of incomplete type ‘struct AVCodecContext’
304 | av_packet_rescale_ts(pkt, context->time_base, video_st->time_base);
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc: In member function ‘bool MovieMaker::AddFrame()’:
moviemaker.cc:329:41: error: invalid use of incomplete type ‘struct AVCodecContext’
329 | enum AVPixelFormat pix_fmt = context->pix_fmt;
| ^~
In file included from moviemaker.cc:59:
moviemaker.h:32:8: note: forward declaration of ‘struct AVCodecContext’
32 | struct AVCodecContext;
| ^~~~~~~~~~~~~~
moviemaker.cc: In member function ‘void MovieMaker::release()’:
moviemaker.cc:387:5: error: ‘avcodec_free_context’ was not declared in this scope; did you mean ‘avformat_free_context’?
387 | avcodec_free_context(&context);
| ^~~~~~~~~~~~~~~~~~~~
| avformat_free_context
make[4]: *** [Makefile:1125: aven-moviemaker.o] Error 1

Cheers
--
Sebastian Ramacher
signature.asc

Olly Betts

unread,
Feb 20, 2022, 7:10:03 PM2/20/22
to
Control: tags -1 + fixed-upstream

On Tue, Feb 01, 2022 at 11:19:04PM +0100, Sebastian Ramacher wrote:
> survex FTBFS with ffmpeg 5.0 in experimental:

I've pushed a fix for this upstream (commit
44c4b7054885c2a5f25692547bf45fa33bcba1e8).

It looks like there are a huge number of packages still blocking the
transition so my plan is to just pick up this fix with the next upstream
release in the interests of avoiding creating more things to do for
myself.

Cheers,
Olly
0 new messages