Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

sc unter 2.1.6

mastro

Newbie
Registriert
4. September 2011
Beiträge
4
Reaktionspunkte
0
Punkte
21
Hi,

bekomme beim compilieren vom aktuellem sc unter VDR 2.1.6 einen Fehler:

Code:
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include device.c
In file included from device.c:150:0:
device-tmpl.c: In member function 'virtual bool cScDvbDevice::Ready()':
device-tmpl.c:169:30: error: 'class cCam' has no member named 'Ready'
device-tmpl.c:170:38: error: 'class cCiAdapter' has no member named 'Ready'
device.c: In static member function 'static void cScDevices::SetForceBudget(int)':
device.c:414:17: error: 'MAXDVBDEVICES' was not declared in this scope
device-tmpl.c: In member function 'virtual bool cScDvbDevice::Ready()':
device-tmpl.c:171:1: warning: control reaches end of non-void function
make[1]: *** [device.o] Error 1
gibt es da einen Patch?
 
Zuletzt bearbeitet von einem Moderator:
Super, hat geklappt, danke :)

Sorry hab mich vertan, falscher Ordner :(

klappt nicht

Code:
*** Plugin sc:
WARNING: plugin sc is using an old Makefile!
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include sc.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include data.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include filter.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include system.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include misc.c
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include cam.c
/usr/src/vdr/vdr-2.1.6/include/vdr/ci.h:178:16: warning: 'virtual bool cCamSlot::Reset()' was hidden
cam.c:1844:8: warning:   by 'bool cScCamSlot::Reset(bool)'
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -c -DPLUGIN_NAME_I18N='"sc"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/src/vdr/vdr-2.1.6/include device.c
In file included from device.c:150:0:
device-tmpl.c: In member function 'virtual bool cScDvbDevice::Ready()':
device-tmpl.c:169:30: error: 'class cCam' has no member named 'Ready'
device-tmpl.c:170:38: error: 'class cCiAdapter' has no member named 'Ready'
device-tmpl.c:171:1: warning: control reaches end of non-void function
make[1]: *** [device.o] Error 1



aber der Patch tuts :)
 
Zuletzt bearbeitet:
AW: sc unter 2.1.6

Hallo

gegen welche SC Version muss der Patch denn angewendet werden?
Das ist ja kaum mehr die ur version von sc oder?

Gruss Macro77
 
AW: sc unter 2.1.6

Das sc-plugin funktioniert nicht mehr ab VDR 2.1.6. Soweit mir bekannt, ist auch der Support dafür eingestellt. Als Ersatz nimmt man das dvbapi-plugin in Kombination mit oscam.
 
AW: sc unter 2.1.6

Hallo

gegen welche SC Version muss der Patch denn angewendet werden?
Das ist ja kaum mehr die ur version von sc oder?

Gruss Macro77

Doch, die Patches sollten gegen die hg Version anwendbar sein.

Das sc-plugin funktioniert nicht mehr ab VDR 2.1.6. Soweit mir bekannt, ist auch der Support dafür eingestellt. Als Ersatz nimmt man das dvbapi-plugin in Kombination mit oscam.

Das sc Plugin funktioniert weiterhin, auch mit 2.1.6, deshalb ja die Patches. :emoticon-0105-wink:
 
AW: sc unter 2.1.6

Und wenn wir schon dabei sind, noch ein libdvbcsa Patch, ist ja etwas kompatibler als FFDecsa auf so einigen Architekturen.
 
AW: sc unter 2.1.6

Hallo legenwaitforitdary

Welche Patches würdest du nehmen?

Den damit sc mit vdr 2.1.6 funktioniert oder alle?
 
AW: sc unter 2.1.6

Ich hab es bei mir mit unten stehendem Makefile.patch, ResetSlot.patch, DvbDeviceReady.patch, libdvbcsa.patch und dem MAXDEVICES.patch im zweiten Spoiler gebaut:

Code:
diff -r 29b7b5f231c8 Makefile
--- a/Makefile  Sat Jul 21 20:51:33 2012 +0200
+++ b/Makefile  Thu Jan 24 23:45:54 2013 +0400
@@ -1,29 +1,15 @@
 #
-# Softcam plugin to VDR
+# Makefile for a Video Disk Recorder plugin
 #
-# This code is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This code is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-# Or, point your browser to http://www.gnu.org/copyleft/gpl.html
+# $Id$
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
 # By default the main source file also carries this name.
-#
+
 PLUGIN = sc
 
-### The version number of this plugin
-
+### The version number of this plugin (taken from the main source file):
 DISTFILE = .distvers
 HGARCHIVE = .hg_archival.txt
 RELEASE := $(shell grep 'define SC_RELEASE' version.h | awk '{ print $$3 }' | sed -e 's/[";]//g')
@@ -38,49 +24,49 @@
                    fi)
 VERSION := $(RELEASE)-$(SUBREL)
 SCAPIVERS := $(shell sed -ne '/define SCAPIVERS/ s/^.[a-zA-Z ]*\([0-9]*\).*$$/\1/p' version.h)
-
 ### The directory environment:
 
-VDRDIR = ../../..
-LIBDIR = ../../lib
-SYSDIR = ./systems
-PREDIR = ./systems-pre
-TMPDIR = /tmp
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(call PKGCFG,libdir)
+LOCDIR = $(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
+#
 
-### The C++ compiler and options:
+SYSDIR  = ./systems
+PREDIR  = ./systems-pre
+LIBS   := -lcrypto
+TMPDIR ?= /tmp
 
-CXX      ?= g++
-CXXFLAGS ?= -O2 -g -Wall -Woverloaded-virtual
+### The compiler options:
 
-### Includes and Defines
+export CFLAGS   = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
+export SCAPIVERS
+export APIVERSION
 
-INCLUDES      = -I$(VDRDIR)/include
-DEFINES       = -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-SHAREDDEFINES = -DAPIVERSNUM=$(APIVERSNUM) -D_GNU_SOURCE
-LIBS          = -lcrypto
-SHAREDLIBS    =
+### The version number of VDR's plugin API:
+
+APIVERSION = $(call PKGCFG,apiversion)
 
 ### Allow user defined options to overwrite defaults:
 
--include $(VDRDIR)/Make.global
--include $(VDRDIR)/Make.config
--include Make.config
+-include $(PLGCFG)
 
-# we need this ATM because of the helper.h macros...
-CXXFLAGS += -fno-strict-aliasing
+### The name of the distribution archive:
 
-### The version number of VDR (taken from VDR's "config.h"):
+ARCHIVE = $(PLUGIN)-$(VERSION)
+PACKAGE = vdr-$(ARCHIVE)
 
-VDRVERSION := $(shell sed -ne '/define VDRVERSION/ s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/include/vdr/config.h)
-APIVERSION := $(shell sed -ne '/define APIVERSION/ s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/include/vdr/config.h)
-ifeq ($(strip $(APIVERSION)),)
-   APIVERSION = $(VDRVERSION)
-endif
-VDRVERSNUM := $(shell sed -ne '/define VDRVERSNUM/ s/^.[a-zA-Z ]*\([0-9]*\) .*$$/\1/p' $(VDRDIR)/include/vdr/config.h)
-APIVERSNUM := $(shell sed -ne '/define APIVERSNUM/ s/^.[a-zA-Z ]*\([0-9]*\) .*$$/\1/p' $(VDRDIR)/include/vdr/config.h)
-ifeq ($(strip $(APIVERSNUM)),)
-   APIVERSNUM = $(VDRVERSNUM)
-endif
+### The name of the shared object file:
+
+SOFILE = libvdr-$(PLUGIN).so
+
+### Includes and Defines (add further entries here):
+
+INCLUDES +=
+
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ### The object files (add further files here):
 
@@ -88,162 +74,69 @@
        smartcard.o network.o crypto.o system-common.o parse.o log.o \
        override.o
 
+# max number of CAIDs per slot
+MAXCAID := 64
+
+# FFdeCSA
+PARALLEL   ?= PARALLEL_128_SSE2
+CSAFLAGS   ?= -fexpensive-optimizations -fomit-frame-pointer -funroll-loops -O3 -mmmx -msse -msse2 -msse3
+FFDECSADIR  = FFdecsa
+FFDECSA     = $(FFDECSADIR)/FFdecsa.o
+DECSALIB    = $(FFDECSA)
+
+### The main target:
+
+all: $(SOFILE) systems-pre systems i18n
+
+
+### Implicit rules:
+
+%.o: %.c
+       $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $<
+
+### Dependencies:
+
+MAKEDEP = $(CXX) -MM -MG
+DEPFILES = $(subst i18n.c,,$(subst version.c,,$(OBJS:%.o=%.c)))
+$(DEPFILE): $(DEPFILES) $(wildcard *.h)
+       @$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+
+-include $(DEPFILE)
+
 ### Internationalization (I18N):
 
 PODIR     = po
+I18Npo    = $(wildcard $(PODIR)/*.po)
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
 I18Npot   = $(PODIR)/$(PLUGIN).pot
-I18Nmo    = vdr-$(PLUGIN).mo
-I18Nmsgs  = $(addprefix $(LOCALEDIR)/,$(addsuffix /LC_MESSAGES/$(I18Nmo),$(notdir $(foreach file, $(wildcard $(PODIR)/*.po), $(basename $(file))))))
-LOCALEDIR = $(VDRDIR)/locale
-
-### VDR version dependant
-
-# test VDR version
-BYVERS = $(strip $(shell if test $(APIVERSNUM) -ge 010703; then echo "*"; fi))
-# test if PlayTsVideo() exists (e.g. TSplay patch)
-BYTSPL = $(strip $(shell grep -l 'PlayTsVideo' $(VDRDIR)/include/vdr/device.h))
-
-ifneq ($(BYVERS)$(BYTSPL),)
-  SHAREDDEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-endif
-
-#
-# generic stuff
-#
-
-# smartcard default port (dropped)
-ifdef DEFAULT_PORT
-  $(error DEFAULT_PORT support was removed, use cardslot.conf)
-endif
-
-ifdef WITH_PCSC
-  DEFINES  += -DWITH_PCSC
-  LIBS     += -lpcsclite
-endif
-
-HAVE_SD := $(wildcard ../dvbsddevice/dvbsddevice.c)
-ifneq ($(strip $(HAVE_SD)),)
-  DEFINES += -DWITH_SDDVB
-  DEVPLUGTARGETS += $(LIBDIR)/libsc-dvbsddevice-$(SCAPIVERS).so.$(APIVERSION)
-endif
-DEVPLUGOBJS += device-sd.o
-HAVE_HD := $(wildcard ../dvbhddevice/dvbhddevice.c)
-ifneq ($(strip $(HAVE_HD)),)
-  HDVERS := $(shell sed -ne '/*VERSION/ s/^.*=.*"\(.*\)".*$$/\1/p' ../dvbhddevice/dvbhddevice.c)
-  ifeq ($(findstring dag,$(HDVERS)),)
-    DEFINES += -DWITH_HDDVB
-    DEVPLUGTARGETS += $(LIBDIR)/libsc-dvbhddevice-$(SCAPIVERS).so.$(APIVERSION)
-  endif
-endif
-DEVPLUGOBJS += device-hd.o
-
-# max number of CAIDs per slot
-MAXCAID := $(shell sed -ne '/define MAXCASYSTEMIDS/ s/^.[a-zA-Z ]*\([0-9]*\).*$$/\1/p' $(VDRDIR)/ci.c)
-ifneq ($(strip $(MAXCAID)),)
-  DEFINES += -DVDR_MAXCAID=$(MAXCAID)
-endif
-
-# FFdeCSA
-CPUOPT     ?= pentium
-PARALLEL   ?= PARALLEL_32_INT
-CSAFLAGS   ?= -Wall -fPIC -g -O3 -mmmx -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
-FFDECSADIR  = FFdecsa
-FFDECSA     = $(FFDECSADIR)/FFdecsa.o
-FFDECSATEST = $(FFDECSADIR)/FFdecsa_test.done
-
-# SASC
-ifdef SASC
-DEFINES += -DSASC
-FFDECSA =
-FFDECSATEST =
-endif
-
-# export for system makefiles
-export SCAPIVERS
-export APIVERSION
-export INCLUDES
-export SHAREDDEFINES
-export SHAREDLIBS
-export CXX
-export CXXFLAGS
-
-### Targets:
-
-ifdef STATIC
-BUILDTARGETS = $(LIBDIR)/libvdr-$(PLUGIN).a
-SHAREDDEFINES += -DSTATICBUILD
-else
-BUILDTARGETS = $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) systems-pre $(DEVPLUGTARGETS)
-endif
-BUILDTARGETS += $(FFDECSATEST) systems i18n
-
-all: $(BUILDTARGETS)
-.PHONY: i18n systems systems-pre contrib clean clean-core clean-systems clean-pre dist srcdist
-
-# Dependencies:
-
-MAKEDEP = g++ -MM -MG
-DEPFILE = .dependencies
-DEPFILES = $(subst i18n.c,,$(subst version.c,,$(OBJS:%.o=%.c)))
-$(DEPFILE): $(DEPFILES) $(wildcard *.h)
-       @$(MAKEDEP) $(DEFINES) $(SHAREDDEFINES) $(INCLUDES) $(DEPFILES) > $@
-
--include $(DEPFILE)
-
-# Rules
-
-%.o: %.c
-       $(CXX) $(CXXFLAGS) -c $(DEFINES) $(SHAREDDEFINES) $(INCLUDES) $<
-
-libvdr-$(PLUGIN).so: $(OBJS) $(FFDECSA)
-       $(CXX) $(CXXFLAGS) -shared $(OBJS) $(FFDECSA) $(LIBS) $(SHAREDLIBS) -o $@
-
-$(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION): libvdr-$(PLUGIN).so
-       @cp -p $< $@
-
-$(LIBDIR)/libvdr-$(PLUGIN).a: $(OBJS)
-       $(AR) r $@ $(OBJS)
-
-libsc-dvbsddevice.so: device-sd.o
-       $(CXX) $(CXXFLAGS) -shared $< $(SHAREDLIBS) -o $@
-
-$(LIBDIR)/libsc-dvbsddevice-$(SCAPIVERS).so.$(APIVERSION): libsc-dvbsddevice.so
-       @cp -p $< $@
-
-libsc-dvbhddevice.so: device-hd.o
-       $(CXX) $(CXXFLAGS) -shared $< $(SHAREDLIBS) -o $@
-
-$(LIBDIR)/libsc-dvbhddevice-$(SCAPIVERS).so.$(APIVERSION): libsc-dvbhddevice.so
-       @cp -p $< $@
-
-$(FFDECSA) $(FFDECSATEST): $(FFDECSADIR)/*.c $(FFDECSADIR)/*.h
-       @$(MAKE) COMPILER="$(CXX)" FLAGS="$(CSAFLAGS) -march=$(CPUOPT)" PARALLEL_MODE=$(PARALLEL) -C $(FFDECSADIR) all
-
-$(I18Npot): $(shell grep -rl '\(tr\|trNOOP\)(\".*\")' *.c $(SYSDIR))
-       xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR-SC --package-version=$(VERSION) --msgid-bugs-address='<noone@nowhere.org>' -o $@ `ls $^`
-
-%.po: $(I18Npot)
-       msgmerge -U --no-wrap --no-location --no-fuzzy-matching --backup=none -q $@ $<
-       @touch $@
 
 %.mo: %.po
        msgfmt -c -o $@ $<
 
-$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/$(I18Nmo): $(PODIR)/%.mo
-       @mkdir -p $(dir $@)
-       cp $< $@
+$(I18Npot): $(wildcard *.c)
+       xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^`
 
-i18n: $(I18Nmsgs)
+%.po: $(I18Npot)
+       msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
+       @touch $@
 
-version.c: FORCE
+$(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+       install -D -m644 $< $@
+
+.PHONY: i18n systems systems-pre
+i18n: $(I18Nmo) $(I18Npot)
+
+version.c:
        @echo >$@.new "/* generated file, do not edit */"; \
-        echo >>$@.new 'const char *ScVersion =' '"'$(VERSION)'";'; \
-        diff $@.new $@ >$@.diff 2>&1; \
-        if test -s $@.diff; then mv -f $@.new $@; fi; \
-        rm -f $@.new $@.diff;
+               echo >>$@.new 'const char *ScVersion =' '"'$(VERSION)'";'; \
+               diff $@.new $@ >$@.diff 2>&1; \
+               if test -s $@.diff; then mv -f $@.new $@; fi; \
+               rm -f $@.new $@.diff;
 
 systems:
-       @for i in `ls -A -I ".*" $(SYSDIR)`; do $(MAKE) -f ../../Makefile.system -C "$(SYSDIR)/$$i" all || exit 1; done
+       @mkdir lib
+       @for i in `ls -A -I ".*" $(SYSDIR)`; do  $(MAKE) LIBDIR=../../lib -f ../../Makefile.system -C "$(SYSDIR)/$$i" all || exit 1; done
 
 systems-pre:
        @for i in `ls -A -I ".*" $(PREDIR) | grep -- '-$(SCAPIVERS).so.$(APIVERSION)$$'`; do cp -p "$(PREDIR)/$$i" "$(LIBDIR)"; done
@@ -251,45 +144,34 @@
 contrib:
        @$(MAKE) -C contrib all
 
+install-i18n: $(I18Nmsgs)
+
+### Targets:
+
+$(SOFILE): $(OBJS) $(FFDECSA)
+       $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(FFDECSA) $(LIBS) -o $@
+
+$(FFDECSA): $(FFDECSADIR)/*.c $(FFDECSADIR)/*.h
+       @$(MAKE) COMPILER="$(CXX)" FLAGS="$(CXXFLAGS) $(CSAFLAGS)" PARALLEL_MODE=$(PARALLEL) -C $(FFDECSADIR) all
+
+install-lib: $(SOFILE)
+       install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
+       install -D lib/* $(DESTDIR)$(LIBDIR)/
+
+install: install-lib install-i18n
+
+dist: $(I18Npo) clean
+       @-rm -rf $(TMPDIR)/$(ARCHIVE)
+       @mkdir $(TMPDIR)/$(ARCHIVE)
+       @cp -a * $(TMPDIR)/$(ARCHIVE)
+       @tar czf $(PACKAGE).tgz -C $(TMPDIR) $(ARCHIVE)
+       @-rm -rf $(TMPDIR)/$(ARCHIVE)
+       @echo Distribution package created as $(PACKAGE).tgz
+
 clean-systems:
        @for i in `ls -A -I ".*" $(SYSDIR)`; do $(MAKE) -f ../../Makefile.system -C "$(SYSDIR)/$$i" clean; done
 
-clean-core:
-       @$(MAKE) -C testing clean
-       @$(MAKE) -C contrib clean
-       @if test -d $(FFDECSADIR); then $(MAKE) -C $(FFDECSADIR) clean; fi
-       @-rm -f $(LIBDIR)/libsc-*-$(SCAPIVERS).so.$(APIVERSION)
-       @-rm -f $(LIBDIR)/libvdr-$(PLUGIN).a $(LIBDIR)/libsc-*.a
-       @-rm -f $(OBJS) $(DEVPLUGOBJS) $(DEPFILE) version.c *.so *.tar.gz core* *~
-       @-rm -f $(PODIR)/*.mo
-
-clean-pre:
-       @-find "$(PREDIR)" -type f -not -name ".empty" -not -iname "*-$(SCAPIVERS).so.*" | xargs rm -f
-
-clean: clean-core clean-systems
-
-dist: ARCHIVE := $(PLUGIN)-$(RELEASE)
-dist: clean-core
-       @for i in `ls -A -I ".*" $(SYSDIR)`; do $(MAKE) -f ../../Makefile.system -C "$(SYSDIR)/$$i" dist; done
-       @-rm -rf $(TMPDIR)/$(ARCHIVE)
-       @mkdir $(TMPDIR)/$(ARCHIVE)
-       @cp -a * $(TMPDIR)/$(ARCHIVE)
-       @echo -n "release" >$(TMPDIR)/$(ARCHIVE)/$(DISTFILE)
-       @path="$(TMPDIR)/$(ARCHIVE)/$(notdir $(SYSDIR))";\
-        for i in `ls -A -I ".*" $$path`; do if [ -f "$$path/$$i/nonpublic.mk" ]; then rm -rf "$$path/$$i"; fi; if [ -f "$$path/$$i/nonpublic.sh" ]; then (cd $$path/$$i ; source ./nonpublic.sh ; rm ./nonpublic.sh); fi; done
-       @strip --strip-unneeded --preserve-dates $(TMPDIR)/$(ARCHIVE)/$(notdir $(PREDIR))/* || true
-       @tar czf vdr-$(ARCHIVE).tar.gz -C $(TMPDIR) $(ARCHIVE)
-       @-rm -rf $(TMPDIR)/$(ARCHIVE)
-       @echo Distribution package created as vdr-$(ARCHIVE).tar.gz
-
-copy: ARCHIVE := $(PLUGIN)-$(VERSION)
-copy: clean clean-pre
-       @-rm -rf $(TMPDIR)/$(ARCHIVE)
-       @mkdir $(TMPDIR)/$(ARCHIVE)
-       @cp -a .hgtags .hgignore * $(TMPDIR)/$(ARCHIVE)
-       @echo -n $(SUBREL) | sed -e 's/HG-/CP-/' >$(TMPDIR)/$(ARCHIVE)/$(DISTFILE)
-       @tar czf vdr-$(ARCHIVE).tar.gz -C $(TMPDIR) $(ARCHIVE)
-       @-rm -rf $(TMPDIR)/$(ARCHIVE)
-       @echo Full copy package created as vdr-$(ARCHIVE).tar.gz
-
-FORCE:
+clean: clean-systems
+       @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
+       @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
+       @-rm -rf lib

Code:
diff -Naur vdr-plugin-sc-1.0.0pre-875~29b7b5f231c8/device.c vdr-plugin-sc-1.0.0pre-875~29b7b5f231c8-new/device.c
--- vdr-plugin-sc-1.0.0pre-875~29b7b5f231c8/device.c    2014-04-19 20:57:26.393835329 +0200
+++ vdr-plugin-sc-1.0.0pre-875~29b7b5f231c8-new/device.c        2014-04-19 21:06:52.097859728 +0200
@@ -357,7 +357,7 @@
   *vdr_nci=0; *vdr_ud=vdr_save_ud;
 
   int i, found=0;
-  for(i=0; i<MAXDVBDEVICES; i++) {
+  for(i=0; i<MAXDEVICES; i++) {
     if(UseDevice(NextCardIndex())) {
       char name[128];
       cScDevices::DvbName(DEV_DVB_FRONTEND,i,0,name,sizeof(name));
@@ -382,7 +382,7 @@
       }
     else NextCardIndex(1);
     }
-  NextCardIndex(MAXDVBDEVICES-i);
+  NextCardIndex(MAXDEVICES-i);
   if(found>0) PRINTF(L_GEN_INFO,"captured %d video device%s",found,found>1 ? "s" : "");
   else PRINTF(L_GEN_INFO,"no DVB device captured");
   return found>0;
@@ -411,7 +411,7 @@
 
 void cScDevices::SetForceBudget(int n)
 {
-   if(n>=0 && n<MAXDVBDEVICES) budget|=(1<<n);
+   if(n>=0 && n<MAXDEVICES) budget|=(1<<n);
 }
 
 bool cScDevices::ForceBudget(int n)
 
AW: sc unter 2.1.6

Ich hab das mal alles in einen Patch integriert, inklusive debian Verzeichnis, um es unter Debian oder Ubuntu aus dem Source als Pakete bauen zu lassen,

Code:
mkdir vdr-plugin-sc
hg clone http://85.17.209.13:6100/sc
wget http://paste.ubuntuusers.de/raw/418597/ -O hg216debian.patch
cd sc
patch -p1 < ../hg216debian.patch
# unter debian/rules kann man [B]export LIBDVBCSA=1[/B] auskommentieren, falls man FFDecsa nutzen will und gegebenenfalls auch unter debian/control libdvbcsa-dev entfernen, falls nicht vorhanden oder installierbar oder was auch immer
# evtl noch debian/changelog anpassen, da es mit dem Patch Pakete für Ubuntu Trusty baut
dpkg-buildpackage -us -uc
cd ..
sudo dpkg -i .......

edit: Tippfehler ausgebessert, damit der Patch auch wirklich funktioniert ;-)
 
Zuletzt bearbeitet:
AW: sc unter 2.1.6

Hallo

hat bestens geklappt, nur nach dem patchen musste ich das sc Verzeichnis nach ../vdr-2.1.6/PLUGINS/src kopieren, dann ein make plugins.
Hat wohl damit zu tun, dass ich den VDR nicht über den Paketmanager installiere sondern immer aus den Sourcen selber mache.
Vielen Dank nochmals für die Hilfe, klappt nun alles wieder mit DVB-S und DVB-C Sendern. :DDD

Gruss Macro77
 
Zuletzt bearbeitet von einem Moderator:
AW: sc unter 2.1.6

Moin,
ich versuche derzeit auch das aktuelle sc-hg (unter Gen2VDR) und vdr-2.1.6 64bit zu kompilieren.

Ich habe schon mit allen möglichen Patches aus diesem Thread getestet, bekomme aber immer wieder einen Fehler:

Code:
g++ -Werror=overloaded-virtual -Wno-parentheses -mtune=generic -O3 -msse -msse2 -msse3 -pipe -D__STDC_CONSTANT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -fno-strict-aliasing -c -DPLUGIN_NAME_I18N='"sc"' -DUSE_WAREAGLEICON -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/VDR/include sc.c
g++ -Werror=overloaded-virtual -Wno-parentheses -mtune=generic -O3 -msse -msse2 -msse3 -pipe -D__STDC_CONSTANT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -fno-strict-aliasing -c -DPLUGIN_NAME_I18N='"sc"' -DUSE_WAREAGLEICON -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/VDR/include system.c
g++ -Werror=overloaded-virtual -Wno-parentheses -mtune=generic -O3 -msse -msse2 -msse3 -pipe -D__STDC_CONSTANT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -fno-strict-aliasing -c -DPLUGIN_NAME_I18N='"sc"' -DUSE_WAREAGLEICON -DWITH_SDDVB -DWITH_HDDVB -DVDR_MAXCAID=64 -DAPIVERSNUM=20106 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/local/src/VDR/include cam.c
/usr/local/src/VDR/include/vdr/ci.h:178:16: error: ‘virtual bool cCamSlot::Reset()’ was hidden [-Werror=overloaded-virtual]
cam.c:1844:8: error:   by ‘bool cScCamSlot::Reset(bool)’ [-Werror=overloaded-virtual]
cc1plus: some warnings being treated as errors
make: *** [cam.o] Error 1

Hat einer da einen Tipp?

Regards
Globber
 
Zuletzt bearbeitet:
AW: sc unter 2.1.6

Moin,

herzlichen Dank für den Patch (habe ihn mal cam.c.patch genannt). Damit und mit ein paar von den anderen läuft SC wieder wie eine Eins :)

Add_libdvbcsa_support.patch
DvbDeviceReady.patch
vdr-sc-1.0-fix-2.1.3.patch
cam.c.patch

Ich habe den DvbDeviceReady.patch noch etwas anpassen müssen, damit er bei mir anstandslos durchlief.

--- a/device-tmpl.c2014-05-08 11:38:38.588000000 +0200
+++ b/device-tmpl.c2014-05-08 12:09:41.900000000 +0200
@@ -41,7 +41,6 @@
#endif //!SASC
protected:
#ifndef SASC
- virtual bool Ready(void);
virtual bool SetPid(cPidHandle *Handle, int Type, bool On);
virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
virtual bool OpenDvr(void);
@@ -164,12 +163,6 @@
return cam || hwciadapter;
}

-bool SCDEVICE::Ready(void)
-{
- return (cam ? cam->Ready():true) &&
- (hwciadapter ? hwciadapter->Ready():true);
-}
-
bool SCDEVICE::SetPid(cPidHandle *Handle, int Type, bool On)
{
if(cam) cam->SetPid(Type,Handle->pid,On);

Das SC-HG ist ein aktuell gezogenenes (sc 1.0.0pre-HG-29b7b5f231c8+)


Regards
Globber
(Gen2VDR V4 x64 VDR-2.1.6)
 
Zuletzt bearbeitet:
Zurück
Oben