Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 834408 - media-video/noad-0.8.8 with ffmpeg-5.0: ffmpeg_decoder.cpp:153:9: error: ‘av_register_all’ was not declared in this scope
Summary: media-video/noad-0.8.8 with ffmpeg-5.0: ffmpeg_decoder.cpp:153:9: error: ‘av_...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Martin Dummer
URL:
Whiteboard: Workaround dep applied; could disable...
Keywords:
Depends on:
Blocks: ffmpeg-5.0
  Show dependency tree
 
Reported: 2022-02-28 21:08 UTC by Kobboi
Modified: 2023-07-06 09:01 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.gz (build.log.gz,4.99 KB, application/gzip)
2022-02-28 21:08 UTC, Kobboi
Details
emerge-info.txt (emerge-info.txt,8.00 KB, text/plain)
2022-02-28 21:08 UTC, Kobboi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kobboi 2022-02-28 21:08:14 UTC
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I.   -DUSE_AVIOCONTEXT -D__STDC_CONSTANT_MACROS  -D_GNU_SOURCE -DFFMPEGDECODING   -DUSE_FFMPEG  -O2 -march=znver3 -pipe -g -ggdb3 -c -o tools.o tools.cpp
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I.   -DUSE_AVIOCONTEXT -D__STDC_CONSTANT_MACROS  -D_GNU_SOURCE -DFFMPEGDECODING   -DUSE_FFMPEG  -O2 -march=znver3 -pipe -g -ggdb3 -c -o vdr_cl.o vdr_cl.cpp
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I.   -DUSE_AVIOCONTEXT -D__STDC_CONSTANT_MACROS  -D_GNU_SOURCE -DFFMPEGDECODING   -DUSE_FFMPEG  -O2 -march=znver3 -pipe -g -ggdb3 -c -o svdrpc.o svdrpc.cpp
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I.   -DUSE_AVIOCONTEXT -D__STDC_CONSTANT_MACROS  -D_GNU_SOURCE -DFFMPEGDECODING   -DUSE_FFMPEG  -O2 -march=znver3 -pipe -g -ggdb3 -c -o checkmarks.o checkmarks.cpp
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I.   -DUSE_AVIOCONTEXT -D__STDC_CONSTANT_MACROS  -D_GNU_SOURCE -DFFMPEGDECODING   -DUSE_FFMPEG  -O2 -march=znver3 -pipe -g -ggdb3 -c -o showindex.o showindex.cpp
svdrpc.cpp: In member function ‘bool cSVDRPC::CmdQuit()’:
svdrpc.cpp:247:11: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  247 |   asprintf(&Option,"Quit\r\n");
      |   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
svdrpc.cpp: In function ‘void noadMsg(const char*, const char*)’:
svdrpc.cpp:277:13: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  277 |     asprintf(&baseName,"mesg %s %s",msg,vend+1);
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
svdrpc.cpp:279:13: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  279 |     asprintf(&baseName,"mesg %s %s",msg, filename);
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
svdrpc.cpp:285:11: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  285 |   asprintf(&cp,"%s\r\n",baseName);
      |   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
tools.cpp: In function ‘const char* AddDirectory(const char*, const char*)’:
tools.cpp:249:11: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  249 |   asprintf(&buf, "%s/%s", DirName && *DirName ? DirName : ".", FileName);
      |   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools.cpp: In function ‘bool RemoveEmptyDirectories(const char*, bool)’:
tools.cpp:334:17: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  334 |         asprintf(&buffer, "%s/%s", DirName, e->d_name);
      |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools.cpp: In function ‘bool SpinUpDisk(const char*)’:
tools.cpp:401:15: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  401 |       asprintf(&buf, "%s/vdr-%06d", *FileName ? FileName : ".", n);
      |       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools.cpp:403:15: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  403 |       asprintf(&buf, "%s.vdr-%06d", FileName, n);
      |       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools.cpp:413:15: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  413 |         system("sync");
      |         ~~~~~~^~~~~~~~
tools.cpp: In function ‘int make_pidfile(const char*)’:
tools.cpp:943:8: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  943 |   write(pidf,pidfilename,strlen(pidfilename));
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools.cpp: In function ‘pid_t processInfo(const char*)’:
tools.cpp:973:13: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  973 |     asprintf(&cmd,"ps -p %s -o start,time,cmd --no-heading",buffer);
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ffmpeg_decoder.cpp: In member function ‘virtual int FFMPegDecoder::decoder_init()’:
ffmpeg_decoder.cpp:153:9: error: ‘av_register_all’ was not declared in this scope
  153 |         av_register_all();
      |         ^~~~~~~~~~~~~~~
ffmpeg_decoder.cpp: In member function ‘virtual int FFMPegDecoder::openFile(cFileName*, cNoadIndexFile*)’:
ffmpeg_decoder.cpp:210:83: error: invalid conversion from ‘AVCodec**’ to ‘const AVCodec**’ [-fpermissive]
  210 | av_find_best_stream(pFormatCtx, AVMEDIA_TYPE_VIDEO, -1, -1, &pCodec, 0);
      |                                                             ^~~~~~~
      |                                                             |
      |                                                             AVCodec**

In file included from ffmpeg_decoder.h:10,
                 from ffmpeg_decoder.cpp:1:
/usr/include/libavformat/avformat.h:2161:41: note:   initializing argument 5 of ‘int av_find_best_stream(AVFormatContext*, AVMediaType, int, int, const AVCodec**, int)’
 2161 |                         const AVCodec **decoder_ret,
      |                         ~~~~~~~~~~~~~~~~^~~~~~~~~~~
ffmpeg_decoder.cpp:249:36: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
  249 |         pCodec=avcodec_find_decoder(pCodecPar->codec_id);
      |                ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
      |                                    |
      |                                    const AVCodec*
audiotools.cpp: In function ‘void initAVCodec()’:
audiotools.cpp:99:3: error: ‘avcodec_register_all’ was not declared in this scope
   99 |   avcodec_register_all();
      |   ^~~~~~~~~~~~~~~~~~~~
audiotools.cpp:105:31: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
  105 |   codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
      |           ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
      |                               |
      |                               const AVCodec*


Reproducible: Always
Comment 1 Kobboi 2022-02-28 21:08:53 UTC
Created attachment 766075 [details]
build.log.gz
Comment 2 Kobboi 2022-02-28 21:08:55 UTC
Created attachment 766076 [details]
emerge-info.txt
Comment 3 Kobboi 2022-02-28 21:10:09 UTC
Compiles fine with
* USE=ffmpeg and ffmpeg-4.4.1
* USE="-ffmpeg libmpeg2" and ffmpeg-5.0
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-05-15 23:19:22 UTC
ping
Comment 5 Larry the Git Cow gentoo-dev 2023-02-15 06:23:24 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43ad97426db5e10cfffd668499bae7e55fb2ddca

commit 43ad97426db5e10cfffd668499bae7e55fb2ddca
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-02-15 06:20:54 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-02-15 06:20:54 +0000

    media-video/noad: depend on <ffmpeg-5
    
    Bug: https://bugs.gentoo.org/834408
    Signed-off-by: Sam James <sam@gentoo.org>

 media-video/noad/noad-0.8.7.ebuild | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Comment 6 Agostino Sarubbo gentoo-dev 2023-06-02 14:45:30 UTC
tinderbox_musl has reproduced this issue with version 0.8.8 - Updating summary.
Comment 7 Toralf Förster gentoo-dev 2023-07-06 09:01:51 UTC
The depend seems not to have an effect (for ffmpeg-6):

Tinderbox image 17.1_desktop_systemd_merged_usr-20230702-220152:

$> grep ffmpeg files/emerge-history.txt 
2023-07-03T10:20:22 >>> sec-keys/openpgp-keys-ffmpeg-20220405
2023-07-03T10:27:22 >>> media-video/ffmpeg-6.0-r1
2023-07-05T03:00:29 >>> dev-python/ffmpeg-python-0.2.0

ffmpeg_decoder.cpp:259:35: error: AV_CODEC_FLAG_TRUNCATED was not declared in this scope; did you mean AV_CODEC_FLAG_DROPCHANGED?
  259 |                 pCodecCtx->flags|=AV_CODEC_FLAG_TRUNCATED;
      |                                   ^~~~~~~~~~~~~~~~~~~~~~~
      |                                   AV_CODEC_FLAG_DROPCHANGED
ffmpeg_decoder.cpp: In member function virtual void FFMPegDecoder::resetDecoder():
ffmpeg_decoder.cpp:614:35: error: const struct AVCodec has no member named flush
  614 |                 pCodecCtx->codec->flush(pCodecCtx);
      |                                   ^~~~~