Skip to content
This repository has been archived by the owner on Dec 21, 2020. It is now read-only.

vdr-plugin-vnsiserver: compiling error #53

Open
ilgiznurgaliev opened this issue May 10, 2016 · 3 comments
Open

vdr-plugin-vnsiserver: compiling error #53

ilgiznurgaliev opened this issue May 10, 2016 · 3 comments

Comments

@ilgiznurgaliev
Copy link

ilgiznurgaliev commented May 10, 2016

Hi,
I have just tried to compile the plugin but got the folowing error:


$ git clone https://github.com/FernetMenta/vdr-plugin-vnsiserver
Cloning into 'vdr-plugin-vnsiserver'...
remote: Counting objects: 1288, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 1288 (delta 9), reused 0 (delta 0), pack-reused 1263
Receiving objects: 100% (1288/1288), 486.92 KiB | 235.00 KiB/s, done.
Resolving deltas: 100% (929/929), done.

$ cd vdr-plugin-vnsiserver/

$ make
g++  -std=c++11 -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.5.0"'  -o vnsi.o vnsi.c
g++  -std=c++11 -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.5.0"'  -o bitstream.o bitstream.c
g++  -std=c++11 -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.5.0"'  -o vnsiclient.o vnsiclient.c
vnsiclient.c: In member function ‘bool cVNSIClient::processTIMER_GetTypes(cRequestPacket&)’:
vnsiclient.c:1954:16: error: no matching function for call to ‘cResponsePacket::add_U32()
   resp.add_U32();
                ^
vnsiclient.c:1954:16: note: candidate is:
In file included from streamer.h:38:0,
                 from vnsiclient.c:31:
responsepacket.h:55:8: note: bool cResponsePacket::add_U32(uint32_t)
   bool add_U32(uint32_t ul);
        ^
responsepacket.h:55:8: note:   candidate expects 1 argument, 0 provided
make: *** [vnsiclient.o] Error 1

This is on Centos 7 with installed vdr 2.2.0. streamdev and dvbapi plugins have been compilled without any errors.

Any idea how to resolve this?

Thanks and regards, Casper.

@Karl-opec
Copy link

Karl-opec commented May 11, 2016

There are two compiling issues for vdr-2.2.0

You need to change in vnsiclient.c:1954:16 resp.add_U32(); to resp.add_U32(0);
and
in status.c:248:29 change (_i)->TimerChange(); to (_i)->SignalTimerChange();

these changes helped me to compile it for vdr-2.2.0

@ilgiznurgaliev
Copy link
Author

Thanks Karl for your responce. After the changes you suggested it is still failing:

vnsiclient.c:1954
resp.add_U32(0);
status.c:248
(*i)->SignalTimerChange();

$ make
.....
g++  -std=c++11 -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.5.0"'  -o status.o status.c
g++  -std=c++11 -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"vnsiserver"' -DVNSI_SERVER_VERSION='"1.5.0"'  -o vnsitimer.o vnsitimer.c
g++  -std=c++11  -shared vnsi.o bitstream.o vnsiclient.o channelscancontrol.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 vnsitimer.o -o libvdr-vnsiserver.so
/bin/ld: vnsi.o: relocation R_X86_64_32S against `_ZTV17cPluginVNSIServer' can not be used when making a shared object; recompile with -fPIC
vnsi.o: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [libvdr-vnsiserver.so] Error 1

Probably something else also should be changed? Any idea please?

@FernetMenta
Copy link
Owner

FernetMenta commented May 11, 2016

your build system does not meet requirements. either it lacks pkg-config or properly installed vdr.pc

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants