Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 614220 - media-video/noad-0.8.6-r2 will not build against current ffmpeg-3.2.4
Summary: media-video/noad-0.8.6-r2 will not build against current ffmpeg-3.2.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo VDR Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: ffmpeg-3
  Show dependency tree
 
Reported: 2017-03-29 16:00 UTC by Christian Holpert
Modified: 2018-07-12 12:05 UTC (History)
3 users (show)

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


Attachments
emerge --info (emerge-info,6.38 KB, text/plain)
2017-04-06 11:45 UTC, Christian Holpert
Details
build.log (build.log,27.46 KB, application/octet-stream)
2017-04-06 11:46 UTC, Christian Holpert
Details
ugly patch for ffmpeg-3 (noad-ugly-ffmpeg3.patch,5.46 KB, patch)
2017-04-06 11:49 UTC, Christian Holpert
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Holpert 2017-03-29 16:00:21 UTC
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
Comment 1 Coacher 2017-04-06 10:55:31 UTC
Please attach `emerge --info` and complete build.log *with C locale*.
Comment 2 Christian Holpert 2017-04-06 11:45:07 UTC
Created attachment 469322 [details]
emerge --info
Comment 3 Christian Holpert 2017-04-06 11:46:14 UTC
Created attachment 469324 [details]
build.log
Comment 4 Christian Holpert 2017-04-06 11:49:19 UTC
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
Comment 5 dieter ferdinand 2017-04-22 16:43:16 UTC
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
Comment 6 deference 2017-06-24 03:35:24 UTC
I am also experiencing this problem.

I don't use noad yet since I don't have a VDR device yet.
Comment 7 Joerg Bornkessel (RETIRED) gentoo-dev 2018-07-12 12:05:41 UTC
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 ;)