Bug #14940, was updated on 2008-Dec-18 15:28
Here is a current snapshot of the bug.

Project: Vdr Softdevice
Category: None
Status: Open
Resolution: None
Bug Group: None
Priority: 5
Submitted by: erbse
Assigned to : lucke
Summary: undefined symbol: avcodec_build

Details: Hallo,

beim Start von vdr mit -psoftdevice -vo shm bekomme ich diese Fehlermeldung:

vdr starten: vdr: /usr/local/vdr/lib/libvdr-softdevice.so.1.6.0: undefined 
symbol: avcodec_build

FFmpeg und das Softdevice-Plugin habe ich jeweils aus der cvs gezogen (heute), 
bei ffmpeg bin ich nach der Anleitung aus dem VDR-Wiki (von der 
Softdevice-Seite) vorgegangen. Einziges Problem bei dieser Anleitung: bei 
ffmpeg geht "make install-lib" nicht, weil es anscheinend keine Regel dafür im 
Makefile gibt. softdevice hat aber ohne Fehlermeldung kompiliert.

Gruß 
Erbse



Follow-Ups:

Date: 2008-Dec-19 11:14
By: lucke

Comment:
I was not concerned about the directory of running your 'make plugins'. Our 
configure script checks for precence of member 'error_recognition' in struct 
'AVCodecContext' which is declared in file (guess which): 'avcodec.h' .
Concluding backward: If this member is not detected, there is an old version of 
avcodec.h on your system which doesn't provide it (or and unexpected error 
happens) and 'error_resilience' will be used instead. Checking for this is 
logged via stdout and in config.log. Please attach/show both information.
-------------------------------------------------------

Date: 2008-Dec-19 08:51
By: erbse

Comment:
Yes I reran configure. 

I was not quite precise, the error occurs on starting "make all plugins" or 
"make install" in $SOURCEDIR (not when I start "make" in 
$SOURCEDIR/PLUGINS/src/softdevice)
-------------------------------------------------------

Date: 2008-Dec-19 00:42
By: lucke

Comment:
Did you rerun configure ?
error_recognition vs. error_resilience should be detected by configure since 
the last change on sept. 21 2008.
-------------------------------------------------------

Date: 2008-Dec-18 22:39
By: erbse

Comment:
Hi, thank you so much for replying so quickly. I eliminated all occurrencies of 
avcodec.h (I had thought I had deleted any former ffmpeg but indeed found one 
instance where I had not supected it) and eliminated an reincompiled ffmepg 
just to be sure.

I also recompiled softdevice but nos on starting "make" I get the following 
error:

-----------------

make[1]: Entering directory `/root/vdr-1.6.0/PLUGINS/src/softdevice'
g++ -O2 -g -Wall -fPIC -Woverloaded-virtual   -c -DHAVE_CONFIG 
-D__STDC_CONSTANT_MACROS -DPLUGIN_NAME_I18N='"softdevice"' -D_GNU_SOURCE 
-DPLUGINLIBDIR='"./PLUGINS/lib"' -DSHM_SUPPORT -I../../../include 
-I../../../../DVB/include -I/usr/local/include   utils.c
g++ -O2 -g -Wall -fPIC -Woverloaded-virtual   -c -DHAVE_CONFIG 
-D__STDC_CONSTANT_MACROS -DPLUGIN_NAME_I18N='"softdevice"' -D_GNU_SOURCE 
-DPLUGINLIBDIR='"./PLUGINS/lib"' -DSHM_SUPPORT -I../../../include 
-I../../../../DVB/include -I/usr/local/include   i18n.c
g++ -O2 -g -Wall -fPIC -Woverloaded-virtual   -c -DHAVE_CONFIG 
-D__STDC_CONSTANT_MACROS -DPLUGIN_NAME_I18N='"softdevice"' -D_GNU_SOURCE 
-DPLUGINLIBDIR='"./PLUGINS/lib"' -DSHM_SUPPORT -I../../../include 
-I../../../../DVB/include -I/usr/local/include   video.c
g++ -O2 -g -Wall -fPIC -Woverloaded-virtual   -c -DHAVE_CONFIG 
-D__STDC_CONSTANT_MACROS -DPLUGIN_NAME_I18N='"softdevice"' -D_GNU_SOURCE 
-DPLUGINLIBDIR='"./PLUGINS/lib"' -DSHM_SUPPORT -I../../../include 
-I../../../../DVB/include -I/usr/local/include   mpeg2decoder.c
mpeg2decoder.c: In constructor 
�cStreamDecoder::cStreamDecoder(AVCodecContext*, bool)�:
mpeg2decoder.c:146: Fehler: �struct AVCodecContext� hat kein 
Element namens �error_resilience�
make[1]: *** [mpeg2decoder.o] Fehler 1
make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/softdevice'
Plugin status:
make[1]: Entering directory `/root/vdr-1.6.0/PLUGINS/src/status'
make[1]: F�r das Ziel �all� ist nichts zu tun.
make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/status'
Plugin streamdev:
make[1]: Entering directory `/root/vdr-1.6.0/PLUGINS/src/streamdev'
make[1]: F�r das Ziel �all� ist nichts zu tun.
make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/streamdev'
Plugin svdrpdemo:
make[1]: Entering directory `/root/vdr-1.6.0/PLUGINS/src/svdrpdemo'
make[1]: F�r das Ziel �all� ist nichts zu tun.
make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/svdrpdemo'
Plugin vdrrip:
make[1]: Entering directory `/root/vdr-1.6.0/PLUGINS/src/vdrrip-0.3.0'
make[1]: F�r das Ziel �all� ist nichts zu tun.
make[1]: Leaving directory `/root/vdr-1.6.0/PLUGINS/src/vdrrip-0.3.0'

*** failed plugins: softdevice
--------

Hoping for further advice - good night
Erbse
-------------------------------------------------------

Date: 2008-Dec-18 18:23
By: lucke

Comment:
Sollte nicht passieren. Da gibt es bei Dir eine alte Version von avcodec.h in 
der LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) definiert ist. Entferne die 
alten Header-Files von FFmpeg und rekonfiguriere und übersetzte softdevice neu.
Should not happen. There is an old version of avcodec.h on your system which 
defines LIBAVCODEC_VERSION_INT less than ((52<<16)+(0<<8)+0). Remove old FFmpeg 
headers and reconfigure and recompile softdevice.
-------------------------------------------------------

For detailed info, follow this link:
http://developer.berlios.de/bugs/?func=detailbug&bug_id=14940&group_id=2051
_______________________________________________
Softdevice-devel mailing list
Softdevice-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/softdevice-devel

Reply via email to