undefined symbol for vdr 2.2.0
#1
After compiling the vdr-plugin-vnsiserver plugin for vdr 2.2.0 with the following warnings:

Code:
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o vnsi.o vnsi.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o bitstream.o bitstream.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o vnsiclient.o vnsiclient.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o config.o config.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o cxsocket.o cxsocket.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser.o parser.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_AAC.o parser_AAC.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_AC3.o parser_AC3.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_DTS.o parser_DTS.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_h264.o parser_h264.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_MPEGAudio.o parser_MPEGAudio.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_MPEGVideo.o parser_MPEGVideo.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_Subtitle.o parser_Subtitle.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o parser_Teletext.o parser_Teletext.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o streamer.o streamer.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o recplayer.o recplayer.c
recplayer.c: In member function ‘void cRecPlayer::reScan()’:
recplayer.c:125:46: warning: ‘segment’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     segment->end = segment->start + s.st_size;
                                              ^
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o requestpacket.o requestpacket.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o responsepacket.o responsepacket.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o vnsiserver.o vnsiserver.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o hash.o hash.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o recordingscache.o recordingscache.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o setup.o setup.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o vnsiosd.o vnsiosd.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o demuxer.o demuxer.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o videobuffer.o videobuffer.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o videoinput.o videoinput.c
videoinput.c: In member function ‘virtual void cLivePatFilter::Process(u_short, u_char, const u_char*, int)’:
videoinput.c:180:17: warning: variable ‘ProcessCaDescriptors’ set but not used [-Wunused-but-set-variable]
            bool ProcessCaDescriptors = false;
                 ^
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o channelfilter.o channelfilter.c
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.3.0"'  -o status.o status.c
status.c: In member function ‘virtual void cVNSIStatus::Action()’:
status.c:84:7: warning: unused variable ‘ret’ [-Wunused-variable]
   int ret = system(cmd);
       ^
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -shared vnsi.o bitstream.o vnsiclient.o config.o cxsocket.o parser.o parser_AAC.o parser_AC3.o parser_DTS.o parser_h264.o parser_MPEGAudio.o parser_MPEGVideo.o parser_Subtitle.o parser_Teletext.o streamer.o recplayer.o requestpacket.o responsepacket.o vnsiserver.o hash.o recordingscache.o setup.o vnsiosd.o demuxer.o videobuffer.o videoinput.o channelfilter.o status.o -o libvdr-vnsiserver.so

the vdr server start fails with an error says that there is an undefined symbol

Code:
Feb 24 21:19:57 localhost vdr: [3788] VDR version 2.2.0 started
Feb 24 21:19:57 localhost vdr: [3788] switched to user 'root'
Feb 24 21:19:57 localhost vdr: [3788] codeset is 'UTF-8' - known
Feb 24 21:19:57 localhost vdr: [3788] use of environment variable VDR_CHARSET_OVERRIDE (ISO-8859-9) is deprecated!
Feb 24 21:19:57 localhost vdr: [3788] override character table is 'ISO-8859-9'
Feb 24 21:19:57 localhost vdr: [3788] found 28 locales in /usr/local/share/locale
Feb 24 21:19:57 localhost vdr: [3788] loading plugin: /usr/local/src/VDR/PLUGINS/lib/libvdr-vnsiserver.so.2.2.0
Feb 24 21:19:57 localhost vdr: [3788] ERROR: /usr/local/src/VDR/PLUGINS/lib/libvdr-vnsiserver.so.2.2.0: undefined symbol: _ZN10cIndexFileC1EPKcbbb
Feb 24 21:19:57 localhost vdr: [3788] max. latency time 0 seconds
Feb 24 21:19:57 localhost vdr: [3788] exiting, exit code 2

with vdr version 2.1.6 everything is fine. is the latest vnsiserver git master branch compatible with vdr 2.2.0?
Reply
#2
yes it is. I just tested it:

Code:
Feb 24 21:43:48 xbmc vdr: [3162] loading plugin: /usr/local/lib/vdr/libvdr-vnsiserver.so.2.2.0
Feb 24 21:43:48 xbmc vdr: [3162] loading /var/vdr/setup.conf
Feb 24 21:43:48 xbmc vdr: [3162] loading /var/vdr/sources.conf
Feb 24 21:43:48 xbmc vdr: [3162] loading /var/vdr/diseqc.conf
Feb 24 21:43:48 xbmc vdr: [3162] loading /var/vdr/channels.conf
Feb 24 21:43:48 xbmc vdr: [3162] loading /var/vdr/timers.conf
Feb 24 21:43:48 xbmc vdr: [3162] loading /var/vdr/svdrphosts.conf
Reply
#3
Did you got the same compiler warnings?
Reply
#4
yes
looks like you compile against an ancient version of vdr which is < 1.7.3. how do you build? you should not just install any vdr-dev package which does not meet the version of vdr installed.
Reply
#5
Okay, started from the scratch and now it works! Don't know why that happend but all plugins are fine now. I assume that the vnsiserver compiler warnings can ignored (you got them to :-). If not please let me know.

Thank you for the fast response and helping hands! :-)
Reply

Logout Mark Read Team Forum Stats Members Help
undefined symbol for vdr 2.2.00