noad-0.8.6-r2 builds OK with old ffmpeg-2.8.11, but build will fail with current ffmpeg-3.2.4. One of the problems seems to be that avcodec_decode_audio3 is missing in new ffmpeg. NB: Short patch for noad-0.8.6-r2 ebuild: - sed -e "sCODEC_ID_PROBE:AV_CODEC_ID_PROBE:" -i ffmpeg_decoder.cpp + sed -e "s:CODEC_ID_PROBE:AV_CODEC_ID_PROBE:" -i ffmpeg_decoder.cpp But this is some kind of different problem. Reproducible: Always Steps to Reproduce: 1.emerge noad 2.will throw lots of warnings and an error aboute 'avcodec_decode_audio3' not being defined. Actual Results: tools.cpp: In Funktion »pid_t processInfo(const char*)«: tools.cpp:1177:68: Warnung: Der Rückgabewert von »int asprintf(char**, const char*, ...)«, der mit dem At tribut warn_unused_result deklariert wurde, wird ignoriert [-Wunused-result] asprintf(&cmd,"ps -p %s -o start,time,cmd --no-heading",buffer); ^ svdrpc.cpp:21:19: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*« [-Wwrite-strings ] char *SVDRPHost = "127.0.0.1"; ^ audiotools.cpp: In Funktion »int scan_audio_stream_0(unsigned char*, int)«: audiotools.cpp:191:39: Fehler: »avcodec_decode_audio3« wurde in diesem Gültigkeitsbereich nicht definiert &out_size, &p); ^ make[1]: *** [Makefile:586: audiotools.o] Fehler 1 make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet.... In file included from vdr_cl.h:27:0, from vdr_cl.cpp:1: vdr_cl.cpp: In Konstruktor »cIndexFile::cIndexFile(const char*, bool, bool)«: tools.h:29:75: Warnung: Format »%d« erwartet Argumenttyp »int«, aber Argument 3 hat Typ »long unsigned in t« [-Wformat=] #define esyslog(a...) void( (SysLogLevel > 0) ? syslog_with_tid(LOG_ERR, a) : void() ) ^ vdr_cl.cpp:334:15: Anmerkung: bei Substitution des Makros »esyslog« esyslog("ERROR: can't allocate %d bytes for index '%s'", size * sizeof(tIndexTs), fileName ^ vdr_cl.cpp: In Elementfunktion »void cNoadIndexFile::logIndexEx()«: vdr_cl.cpp:796:90: Warnung: Der Rückgabewert von »int asprintf(char**, const char*, ...)«, der mit dem At tribut warn_unused_result deklariert wurde, wird ignoriert [-Wunused-result] asprintf(&buffer, "%06d %2d %3d %3d\n",i,ti->isLogo,ti->blackTop, ti->blackBottom); ^ svdrpc.cpp: In Elementfunktion »bool cSVDRPC::CmdQuit()«: svdrpc.cpp:247:31: Warnung: Der Rückgabewert von »int asprintf(char**, const char*, ...)«, der mit dem At tribut warn_unused_result deklariert wurde, wird ignoriert [-Wunused-result] asprintf(&Option,"Quit\r\n"); Expected Results: clean build
Please attach `emerge --info` and complete build.log *with C locale*.
Created attachment 469322 [details] emerge --info
Created attachment 469324 [details] build.log
Created attachment 469326 [details, diff] ugly patch for ffmpeg-3 I created an ugly patch, that will make noad build with ffmpeg-3. ugly means: I copied the deprecated function avcodec_decode_audio3 to audiotools.cpp, because I don't have the knowlegde to move that to avcodec_decode_audio4. Well, the build noad works as desired but it would be nice if somebody could move noad to current avcodec_decode_audio4 and/or remove those warnings. Christian
hello, same problem. i have copied the libs from old ffmpeg to /usr/local/lib and noad from backup to get noad working again while i have no time to analyze the problem and try to make a patch. goodby
I am also experiencing this problem. I don't use noad yet since I don't have a VDR device yet.
compile fixed in noad-0.8.3-r3, take the patch from FireFly@vdr-portal see post (german): https://www.vdr-portal.de/forum/index.php?thread/131791-patch-noad-0-8-6-mit-ffmpeg-3-4/ noad-0.8.3-r3 use eapi=7 all other ebuilds moved from deprecated eapi=5 to eapi=6 tested the compile with libav-13, ffmepg-3.4 sorry for the long delay, but i moved my activity as developer to a minimum level as the real live is more interesting as the bits'n bits world ;)