Bug#1013516: libcvd: FTBFS: cvd_src/videofilebuffer2.cc:272:33: error: ‘av_register_all’ was not declared in this scope

Lucas Nussbaum lucas at debian.org
Fri Jun 24 10:56:51 BST 2022


Source: libcvd
Version: 0.0~git20220106103934.34d8e26+ds1-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20220624 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> g++  -I. -I. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wconversion -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -c cvd_src/tensor_voting.cc -o cvd_src/tensor_voting.o -MMD -MP -MF cvd_src/tensor_voting.d
> cvd_src/videofilebuffer2.cc: In constructor ‘CVD::VFB::RawVideoFileBufferPIMPL::RawVideoFileBufferPIMPL(const string&, const string&, bool, bool, const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&)’:
> cvd_src/videofilebuffer2.cc:272:33: error: ‘av_register_all’ was not declared in this scope
>   272 |                                 av_register_all();
>       |                                 ^~~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:273:33: error: ‘avcodec_register_all’ was not declared in this scope; did you mean ‘avdevice_register_all’?
>   273 |                                 avcodec_register_all();
>       |                                 ^~~~~~~~~~~~~~~~~~~~
>       |                                 avdevice_register_all
> cvd_src/videofilebuffer2.cc:285:67: error: invalid conversion from ‘const AVInputFormat*’ to ‘AVInputFormat*’ [-fpermissive]
>   285 |                                         fmt = av_find_input_format(formatname.c_str());
>       |                                               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
>       |                                                                   |
>       |                                                                   const AVInputFormat*
> cvd_src/videofilebuffer2.cc:322:91: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
>   322 |                                         AVMediaType t = input_format_context->streams[i]->codec->codec_type;
>       |                                                                                           ^~~~~
> cvd_src/videofilebuffer2.cc:323:96: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
>   323 |                                         AVCodecContext* vc = input_format_context->streams[i]->codec;
>       |                                                                                                ^~~~~
> cvd_src/videofilebuffer2.cc:342:113: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘codec’
>   342 |                                                         video_codec_context = input_format_context->streams[i]->codec;
>       |                                                                                                                 ^~~~~
> cvd_src/videofilebuffer2.cc:411:67: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
>   411 |                                 video_codec = avcodec_find_decoder(video_codec_context->codec_id);
>       |                                               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |                                                                   |
>       |                                                                   const AVCodec*
> cvd_src/videofilebuffer2.cc: In member function ‘std::unique_ptr<CVD::VFB::VFHolderBase> CVD::VFB::RawVideoFileBufferPIMPL::read_frame_from_video()’:
> cvd_src/videofilebuffer2.cc:484:47: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
>   484 |                                 av_init_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:45,
>                  from cvd_src/videofilebuffer2.cc:17:
> /usr/include/x86_64-linux-gnu/libavcodec/packet.h:506:6: note: declared here
>   506 | void av_init_packet(AVPacket *pkt);
>       |      ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:513:41: error: there are no arguments to ‘avcodec_decode_video2’ that depend on a template parameter, so a declaration of ‘avcodec_decode_video2’ must be available [-fpermissive]
>   513 |                                         avcodec_decode_video2(video_codec_context, raw_image, &got_picture, &packet);
>       |                                         ^~~~~~~~~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:513:41: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> cvd_src/videofilebuffer2.cc:527:57: error: ‘AVPicture’ was not declared in this scope; did you mean ‘AVPictureType’?
>   527 |                                         avpicture_fill((AVPicture*)converted_image, reinterpret_cast<uint8_t*>(ret.data()), output_fmt, size.x, size.y);
>       |                                                         ^~~~~~~~~
>       |                                                         AVPictureType
> cvd_src/videofilebuffer2.cc:527:67: error: expected primary-expression before ‘)’ token
>   527 |                                         avpicture_fill((AVPicture*)converted_image, reinterpret_cast<uint8_t*>(ret.data()), output_fmt, size.x, size.y);
>       |                                                                   ^
> cvd_src/videofilebuffer2.cc:527:41: error: there are no arguments to ‘avpicture_fill’ that depend on a template parameter, so a declaration of ‘avpicture_fill’ must be available [-fpermissive]
>   527 |                                         avpicture_fill((AVPicture*)converted_image, reinterpret_cast<uint8_t*>(ret.data()), output_fmt, size.x, size.y);
>       |                                         ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:537:33: error: there are no arguments to ‘av_free_packet’ that depend on a template parameter, so a declaration of ‘av_free_packet’ must be available [-fpermissive]
>   537 |                                 av_free_packet(&packet);
>       |                                 ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc: In instantiation of ‘std::unique_ptr<CVD::VFB::VFHolderBase> CVD::VFB::RawVideoFileBufferPIMPL::read_frame_from_video() [with T = unsigned char]’:
> cvd_src/videofilebuffer2.cc:545:45:   required from here
> cvd_src/videofilebuffer2.cc:484:47: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
>   484 |                                 av_init_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:45,
>                  from cvd_src/videofilebuffer2.cc:17:
> /usr/include/x86_64-linux-gnu/libavcodec/packet.h:506:6: note: declared here
>   506 | void av_init_packet(AVPacket *pkt);
>       |      ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:484:47: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
>   484 |                                 av_init_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:45,
>                  from cvd_src/videofilebuffer2.cc:17:
> /usr/include/x86_64-linux-gnu/libavcodec/packet.h:506:6: note: declared here
>   506 | void av_init_packet(AVPacket *pkt);
>       |      ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:484:47: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
>   484 |                                 av_init_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:45,
>                  from cvd_src/videofilebuffer2.cc:17:
> /usr/include/x86_64-linux-gnu/libavcodec/packet.h:506:6: note: declared here
>   506 | void av_init_packet(AVPacket *pkt);
>       |      ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:513:62: error: ‘avcodec_decode_video2’ was not declared in this scope; did you mean ‘avcodec_decode_subtitle2’?
>   513 |                                         avcodec_decode_video2(video_codec_context, raw_image, &got_picture, &packet);
>       |                                         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |                                         avcodec_decode_subtitle2
> cvd_src/videofilebuffer2.cc:527:55: error: ‘avpicture_fill’ was not declared in this scope
>   527 |                                         avpicture_fill((AVPicture*)converted_image, reinterpret_cast<uint8_t*>(ret.data()), output_fmt, size.x, size.y);
>       |                                         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:537:47: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
>   537 |                                 av_free_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
>       |                                 av_new_packet
> cvd_src/videofilebuffer2.cc: In instantiation of ‘std::unique_ptr<CVD::VFB::VFHolderBase> CVD::VFB::RawVideoFileBufferPIMPL::read_frame_from_video() [with T = CVD::Rgb<unsigned char>]’:
> cvd_src/videofilebuffer2.cc:547:50:   required from here
> cvd_src/videofilebuffer2.cc:484:47: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
>   484 |                                 av_init_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:45,
>                  from cvd_src/videofilebuffer2.cc:17:
> /usr/include/x86_64-linux-gnu/libavcodec/packet.h:506:6: note: declared here
>   506 | void av_init_packet(AVPacket *pkt);
>       |      ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:484:47: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
>   484 |                                 av_init_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:45,
>                  from cvd_src/videofilebuffer2.cc:17:
> /usr/include/x86_64-linux-gnu/libavcodec/packet.h:506:6: note: declared here
>   506 | void av_init_packet(AVPacket *pkt);
>       |      ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:484:47: warning: ‘void av_init_packet(AVPacket*)’ is deprecated [-Wdeprecated-declarations]
>   484 |                                 av_init_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:45,
>                  from cvd_src/videofilebuffer2.cc:17:
> /usr/include/x86_64-linux-gnu/libavcodec/packet.h:506:6: note: declared here
>   506 | void av_init_packet(AVPacket *pkt);
>       |      ^~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:513:62: error: ‘avcodec_decode_video2’ was not declared in this scope; did you mean ‘avcodec_decode_subtitle2’?
>   513 |                                         avcodec_decode_video2(video_codec_context, raw_image, &got_picture, &packet);
>       |                                         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |                                         avcodec_decode_subtitle2
> cvd_src/videofilebuffer2.cc:527:55: error: ‘avpicture_fill’ was not declared in this scope
>   527 |                                         avpicture_fill((AVPicture*)converted_image, reinterpret_cast<uint8_t*>(ret.data()), output_fmt, size.x, size.y);
>       |                                         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cvd_src/videofilebuffer2.cc:537:47: error: ‘av_free_packet’ was not declared in this scope; did you mean ‘av_new_packet’?
>   537 |                                 av_free_packet(&packet);
>       |                                 ~~~~~~~~~~~~~~^~~~~~~~~
>       |                                 av_new_packet
> make[1]: *** [Makefile:267: cvd_src/videofilebuffer2.o] Error 1


The full build log is available from:
http://qa-logs.debian.net/2022/06/24/libcvd_0.0~git20220106103934.34d8e26+ds1-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20220624;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20220624&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the debian-science-maintainers mailing list