manio / vdr-plugin-dvbapi

VDR dvbapi plugin for use with OSCam
http://www.streamboard.tv/wbb2/thread.php?threadid=40060
GNU General Public License v2.0
58 stars 25 forks source link

Compile problem. Ubuntu 16.04 vdr (2.2.0-5build1) xenial #119

Closed Louro closed 7 years ago

Louro commented 7 years ago

Hey Manio.

Some years have passed since I have been playing with VDR but now i will like to have it a go again. Not sure if you remember me but we talked in the beginning to implement multiple frontend support.

Anyways trying to compile the plugin and got the following error. Maybe i'm missing a patch on vdr or some other package?

Best regards Narog

Plugin dvbapi: 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.2.0/include -o SCCAMSlot.o SCCAMSlot.cpp SCCAMSlot.cpp: In constructor ‘SCCAMSlot::SCCAMSlot(SCCIAdapter, int, int, cCamSlot)’: SCCAMSlot.cpp:41:36: error: no matching function for call to ‘cCamSlot::cCamSlot(SCCIAdapter&, bool, cCamSlot&)’ , decsaFillControl(200000, 100, 40) ^ In file included from SCCAMSlot.cpp:27:0: /usr/local/src/vdr/vdr-2.2.0/include/vdr/ci.h:156:3: note: candidate: cCamSlot::cCamSlot(cCiAdapter, bool) cCamSlot(cCiAdapter CiAdapter, bool WantsTsData = false); ^ /usr/local/src/vdr/vdr-2.2.0/include/vdr/ci.h:156:3: note: candidate expects 2 arguments, 3 provided /usr/local/src/vdr/vdr-2.2.0/include/vdr/ci.h:128:7: note: candidate: cCamSlot::cCamSlot(const cCamSlot&) class cCamSlot : public cListObject { ^ /usr/local/src/vdr/vdr-2.2.0/include/vdr/ci.h:128:7: note: candidate expects 1 argument, 3 provided Makefile:89: recipe for target 'SCCAMSlot.o' failed make[1]: [SCCAMSlot.o] Error 1

Louro commented 7 years ago

Ok i downloaded the newest version of VDR. 2.3.8 and i can not compile a bit more.

Plugin dvbapi: 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o CAPMT.o CAPMT.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o DeCSA.o DeCSA.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o DVBAPI.o DVBAPI.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o SocketHandler.o SocketHandler.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o SCCIAdapter.o SCCIAdapter.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o Frame.o Frame.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o SCCAMSlot.o SCCAMSlot.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o Filter.o Filter.cpp 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 -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o cscrypt/des.o cscrypt/des.cpp g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa.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 -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa_test.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 -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -o FFdecsa_test FFdecsa_test.o FFdecsa.o FFdecsa 1.0: testing correctness and speed CORRECT! CORRECT! CORRECT! CORRECT! CORRECT! speed=361.691497 Mbit/s speed=245714.332517 pkts/s CORRECT! CORRECT! CORRECT! CORRECT! CORRECT! 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 CAPMT.o DeCSA.o DVBAPI.o DVBAPISetup.o SocketHandler.o SCCIAdapter.o Frame.o SCCAMSlot.o Filter.o cscrypt/des.o FFdecsa/FFdecsa.o -o libvdr-dvbapi.so /usr/bin/ld: DVBAPISetup.o: relocation R_X86_64_32 against `_ZTV16cMenuSetupDVBAPI' can not be used when making a shared object; recompile with -fPIC DVBAPISetup.o: error adding symbols: Bad value collect2: error: ld returned 1 exit status Makefile:129: recipe for target 'libvdr-dvbapi.so' failed make[1]: [libvdr-dvbapi.so] Error 1

Louro commented 7 years ago

Add -fPIC to vdr make file, clean and recompile. Now it compiles without problems. Next step setup new VDR version..

*** Plugin dvbapi: g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o CAPMT.o CAPMT.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o DeCSA.o DeCSA.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o DVBAPI.o DVBAPI.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o DVBAPISetup.o DVBAPISetup.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o SocketHandler.o SocketHandler.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o SCCIAdapter.o SCCIAdapter.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o Frame.o Frame.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o SCCAMSlot.o SCCAMSlot.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o Filter.o Filter.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-8395491"' -I/usr/local/src/vdr/vdr-2.3.8/include -o cscrypt/des.o cscrypt/des.cpp g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa.c g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa_test.c g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -o FFdecsa_test FFdecsa_test.o FFdecsa.o FFdecsa 1.0: testing correctness and speed CORRECT! CORRECT! CORRECT! CORRECT! CORRECT! speed=358.194428 Mbit/s speed=243338.605670 pkts/s CORRECT! CORRECT! CORRECT! CORRECT! CORRECT! g++ -g -O3 -Wall -fPIC -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -shared CAPMT.o DeCSA.o DVBAPI.o DVBAPISetup.o SocketHandler.o SCCIAdapter.o Frame.o SCCAMSlot.o Filter.o cscrypt/des.o FFdecsa/FFdecsa.o -o libvdr-dvbapi.so xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-dvbapi --package-version= --msgid-bugs-address='' -o po/dvbapi.pot ls DVBAPI.cpp Frame.cpp CAPMT.cpp SCCIAdapter.cpp SCCAMSlot.cpp DVBAPISetup.cpp SocketHandler.cpp DeCSA.cpp Filter.cpp DVBAPI.h msgmerge -U --no-wrap --no-location --backup=none -q -N po/et_EE.po po/dvbapi.pot msgfmt -c -o po/et_EE.mo po/et_EE.po msgmerge -U --no-wrap --no-location --backup=none -q -N po/fi_FI.po po/dvbapi.pot msgfmt -c -o po/fi_FI.mo po/fi_FI.po msgmerge -U --no-wrap --no-location --backup=none -q -N po/lt_LT.po po/dvbapi.pot msgfmt -c -o po/lt_LT.mo po/lt_LT.po msgmerge -U --no-wrap --no-location --backup=none -q -N po/de_DE.po po/dvbapi.pot msgfmt -c -o po/de_DE.mo po/de_DE.po