Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Lösungsansatz nach Skyänderungen für vdr-sc

Hi,

irgendwie lässt sich das nicht bauen und ich weiß nicht warum....
make[2]: Leaving directory '/root/SC/sc_ea-3.5/sources/vdr-plugin-sc-2.2.0/FFdecsa'
g++ -O2 -g -Wall -Woverloaded-virtual -fno-strict-aliasing -shared sc.o data.o filter.o system.o misc.o cam.o device.o version.o smartcard.o network.o crypto.o system-common.o parse.o log.o override.o FFdecsa/FFdecsa.o -lcrypto -o libvdr-sc.so
/usr/bin/ld: sc.o: relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC
sc.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:200: recipe for target 'libvdr-sc.so' failed
make[1]: *** [libvdr-sc.so] Error 1
make[1]: Leaving directory '/root/SC/sc_ea-3.5/sources/vdr-plugin-sc-2.2.0'
debian/rules:12: recipe for target 'common-build-arch' failed
make: *** [common-build-arch] Error 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2

...keine Ahnung was mir das sagen soll....

Danke!
 
Steht doch da: "recompile with -fPIC"
Schau mal ins Makefile unter CXXFLAGS, vermutlich fehlt da diese Option in der Zeile.
 
Hi,

...keine Ahnung was mir das sagen soll....
in "vdr-plugin-sc-2.2.0/Makefile" Zeile 54...
ist
CXXFLAGS ?= -O2 -g -Wall -Woverloaded-virtual
soll
CXXFLAGS ?= -O2 -g -Wall -fPIC -Woverloaded-virtual
da der Sources geändert wurde muss auch "vdr-2.2.0/debian/source/format"
angepasst werden...
ist
3.0 (quilt)
soll
3.0 (native)

Bye
Cu
 
Also mit dpkg-buildpackage -us -uc kommt das raus...

rm -f libvdr-*.so.*
rm -f systems/*/libsc-*.so.*
dh_clean
dpkg-source -b vdr-plugin-sc-2.2.0
dpkg-source: Fehler: unmöglich, mit Quellformat »3.0 (native)« zu bauen: native Paketversion darf keine Revision haben
dpkg-buildpackage: Fehler: Fehler-Exitstatus von dpkg-source -b vdr-plugin-sc-2.2.0 war 255

und mit make

make[1]: Leaving directory '/root/SC/sc_ea-3.5/sources/vdr-plugin-sc-2.2.0/FFdecsa'
g++ -O2 -g -Wall -fPIC -Woverloaded-virtual -fno-strict-aliasing -shared sc.o data.o filter.o system.o misc.o cam.o device.o version.o smartcard.o network.o crypto.o system-common.o parse.o log.o override.o FFdecsa/FFdecsa.o -lcrypto -o libvdr-sc.so
cp: reguläre Datei „../../lib/libvdr-sc.so.“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
Makefile:203: recipe for target '../../lib/libvdr-sc.so.' failed
make: *** [../../lib/libvdr-sc.so.] Error 1

Danke schon mal im voraus....
 
Das mit der Revision ist komisch, am einfachsten wäre wohl in der debian/changelog die Version von 2.2.0-3easyVDR0~trusty auf 2.2.1 zu ändern, oder zumindest auf irgendwas ohne Bindestrich.
 
Hab das mal angepasst, jetzt läuft das ne weile und dann bricht es ab weil eine Datei fehlt.....

sh: 0: Can't open /usr/share/vdr-dev/dependencies.sh
 
Hab jetzt mal ein bisschen getestet, es läuft so ca. eine Minute und dann....

sh /usr/share/vdr-dev/dependencies.sh
sh: 0: Can't open /usr/share/vdr-dev/dependencies.sh
debian/rules:20: recipe for target 'common-binary-predeb-arch' failed
make: *** [common-binary-predeb-arch] Error 127
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules binary war 2
 
Scheint so, als würden hier die yavdr Pakete eher zu e-tobi passen, da wohl die Struktur zum bauen bei easyvdr älter ist.
Probier mal ob das Paket hier bei dir baut:
Code:
cd /tmp/
dget -xu https://launchpad.net/~gandalf-der-grosse/+archive/ubuntu/stable-vdr/+sourcefiles/vdr-plugin-sc/2.2.0-27yavdr0~trusty/vdr-plugin-sc_2.2.0-27yavdr0~trusty.dsc
cd vdr-plugin-sc-2.2.0
dpkg-buildpackage -us -uc

Hier fehlen zwar die Patches noch, aber ich könnte mir vorstellen, dass das Bauen funktioniert.
 
@maggi
Vielen Dank! Jetzt hat es geklappt und läuft...!
Danke auch legenwaitforitdary...!
 
Nicht nur die for schleife muß raus, sondern auch die Wartezeit. Sonst gibt's freezer.

Code:
void cCam::WriteCW(int index, unsigned char *cw, bool force)
{
  if(index<MAX_CW_IDX) {
   // cCondWait::SleepMs(150);
   // for(int i=0; i<16; i+=4) cw[i+3]=cw[i]+cw[i+1]+cw[i+2];
    ca_descr_t ca_descr;
    ca_descr.index=index;
    unsigned char *last=lastCW[index];
    if(force || memcmp(&cw[0],&last[0],8)) {
      memcpy(&last[0],&cw[0],8);
      ca_descr.parity=0;
 
Zuletzt bearbeitet von einem Moderator:
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…