Compilerfehler bei versch. Plugins

  • Ich habe unter Kanotix (Debian/Sarge) die VDR-Version 1.3.9 mit versch. Plugins compiliert, bei einigen gibt es aber schon beim Compilieren Fehler daß Dateien nicht vorhanden sind (z.B. osdcontrol.h) oder daß irgendwelche Membervariablen nicht definiert (filters.h) sind oder einfache Syntaxfehler die nicht erkennbar sind. Das Plugin Cannelscan läst sich z.B. bis zur Version 3 Übersetzen, stürzt aber mit Speicherzugriffsfehler ab. Bei V4 (Filter) fehlen irgendwelche Definitionen von Strukturen, Membervariablen. Sind dazu irgendwelche Patches o.ö. notwendig? Die Readme´s oder sonstige Installationsanleitungen geben keine Auskunft.#
    Gruß, DaLi

  • Hallo,


    so ähnlich ging es mir bei den ersten Versuchen auch. Kann es sein, dass die Pfade zu den diversen Header-Dateien in den Makefiles von vdr und den Plugins nicht an Kanotix angepasst sind.


    Poste doch mal die Fehlermeldungen am besten gefiltert:


    im vdr-verzeichnis ein make 2> /vdr-Fehler.txt listet alle Fehler beim maken von vdr und ein make plugins 2> /vdr-plugins-Fehler.txt entsprechend alles was beim compilen der Plugins schief läuft...
    (beide Dateien finden sich dann im wurzel-Verzeichnis "/")


    Dann können wir Dir evtl. einen Stups in die richtige Richtung geben..

  • Das Übersetzten der "reinen" VDR-1.3.9-Source mit den Standardplugins funktioniert. D.h. ich vermute daß meine Sources(Includes) stimmen. Die Verzeichnisstruktur von /usr/src sieht bei mir folgendermaßen aus:


    insgesamt 5
    drwxr-xr-x 2 root root 128 2005-08-13 12:39 ATI
    lrwxrwxrwx 1 root src 59 2005-08-17 16:18 DVB -> /usr/src/kernel-headers-2.6.11-kanotix-11/include/linux/dvb
    drwxr-xr-x 4 root root 240 2005-08-14 20:35 kernel-headers-2.6.11-kanotix-11
    drwxr-xr-x 3 root root 72 2005-02-04 18:55 kernel-kbuild-2.6-3
    lrwxrwxrwx 1 root root 32 2005-08-14 14:05 linux-2.6.11-kanotix-11 -> kernel-headers-2.6.11-kanotix-11
    drwxr-xr-x 2 root root 48 2005-03-25 14:15 modules
    drwxr-xr-x 7 root root 168 2003-12-11 18:43 rpm
    drwxr-sr-x 6 root src 5544 2005-08-17 16:29 VDR


    Wenn ich z.B. vdr-channelscan-0.0.4b und beiliegende skincurses compiliere (make plugins im VDR-DVZ) dann ergibt
    das folgende Fehlermeldungen: (Die Blödelsmileys macht er von selbst. Damit habe ich nix zu tun! Liegt wahrscheinlich an den dortigen Zeichenfolgen.)


    channelscan:
    filter.c: In member function `virtual void PatFilter::Process(short unsigned
    int, unsigned char, const u_char*, int)':
    filter.c:305: error: no matching function for call to `
    SI::StructureLoop<SI::PAT::Association>::getNext(SI::PAT::Association&,
    SI::Loop::Iterator&)'
    ../../../libsi/si.h:285: error: candidates are: T
    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
    SI::PAT::Association]
    filter.c:372: error: `MAXDPIDS' undeclared (first use this function)
    filter.c:372: error: (Each undeclared identifier is reported only once for each
    function it appears in.)
    filter.c:372: error: assignment (not initialization) in declaration
    filter.c:374: error: assignment (not initialization) in declaration
    filter.c:378: error: no matching function for call to `
    SI::StructureLoop<SI::PMT::Stream>::getNext(SI::PMT::Stream&,
    SI::Loop::Iterator&)'
    ../../../libsi/si.h:285: error: candidates are: T
    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
    SI::PMT::Stream]
    filter.c:434: error: `Dpids' undeclared (first use this function)
    filter.c:435: error: `DLangs' undeclared (first use this function)
    filter.c: In member function `virtual void SdtFilter::Process(short unsigned
    int, unsigned char, const u_char*, int)':
    filter.c:487: error: no matching function for call to `
    SI::StructureLoop<SI::SDT::Service>::getNext(SI::SDT::Service&,
    SI::Loop::Iterator&)'
    ../../../libsi/si.h:285: error: candidates are: T
    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
    SI::SDT::Service]
    filter.c:509: error: no matching function for call to `SI::String::getText(
    char[1024], char[1024], unsigned int, unsigned int)'
    ../../../libsi/si.h:427: error: candidates are: char* SI::String::getText()
    ../../../libsi/si.h:434: error: char*
    SI::String::getText(char*)
    ../../../libsi/si.h:441: error: char*
    SI::String::getText(char*, char*)
    filter.c:512: error: invalid conversion from `unsigned int' to `char*'
    filter.c:512: error: initializing argument 2 of `char*
    SI::String::getText(char*, char*)'
    filter.c:518: error: no matching function for call to `cChannel::SetName(
    char*&, char*&, char*&)'
    ../../../include/vdr/channels.h:170: error: candidates are: void
    cChannel::SetName(const char*, bool)
    filter.c:526: error: no matching function for call to `cChannels::NewChannel(
    const cChannel*, char*&, char*&, char*&, int, int, int)'
    ../../../include/vdr/channels.h:201: error: candidates are: cChannel*
    cChannels::NewChannel(const cChannel*, const char*, int, int, int, int)
    filter.c:536: error: no matching function for call to `
    SI::StructureLoop<SI::NVODReferenceDescriptor::Service>::getNext(
    SI::NVODReferenceDescriptor::Service&, SI::Loop::Iterator&)'
    ../../../libsi/si.h:285: error: candidates are: T
    SI::StructureLoop<T>::getNext(SI::Loop::Iterator&) [with T =
    SI::NVODReferenceDescriptor::Service]
    filter.c:540: error: no matching function for call to `cChannels::NewChannel(
    const cChannel*, const char[5], const char[1], const char[1], int, int, int)
    '
    ../../../include/vdr/channels.h:201: error: candidates are: cChannel*
    cChannels::NewChannel(const cChannel*, const char*, int, int, int, int)
    make[1]: *** [filter.o] Fehler 1


    skincurses:
    skincurses.c:9:21: ncurses.h: Datei oder Verzeichnis nicht gefunden
    skincurses.c:46: error: `COLOR_BLACK' was not declared in this scope
    skincurses.c:47: error: `COLOR_CYAN' was not declared in this scope
    skincurses.c:48: error: `COLOR_BLACK' was not declared in this scope
    skincurses.c:49: error: `COLOR_GREEN' was not declared in this scope
    skincurses.c:50: error: `COLOR_BLACK' was not declared in this scope
    skincurses.c:51: error: `COLOR_YELLOW' was not declared in this scope
    skincurses.c:52: error: `COLOR_WHITE' was not declared in this scope
    skincurses.c:54: error: `COLOR_RED' was not declared in this scope
    skincurses.c:61: error: Syntaxfehler before `*' token
    skincurses.c:62: error: Syntaxfehler before `*' token
    skincurses.c:65: error: `COLOR_BLACK' was not declared in this scope
    ../../../include/vdr/osd.h: In constructor `cCursesOsd::cCursesOsd(int, int)':
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:79: error: within this context
    skincurses.c:82: error: `start_color' undeclared (first use this function)
    skincurses.c:82: error: (Each undeclared identifier is reported only once for
    each function it appears in.)
    skincurses.c:83: error: `stdscr' undeclared (first use this function)
    skincurses.c:83: error: `leaveok' undeclared (first use this function)
    skincurses.c:85: error: `window' undeclared (first use this function)
    skincurses.c:85: error: `subwin' undeclared (first use this function)
    skincurses.c:86: error: `syncok' undeclared (first use this function)
    skincurses.c: In destructor `virtual cCursesOsd::~cCursesOsd()':
    skincurses.c:92: error: `werase' undeclared (first use this function)
    skincurses.c:94: error: `delwin' undeclared (first use this function)
    skincurses.c: In member function `void cCursesOsd::SetColor(int, int)':
    skincurses.c:105: error: `init_pair' undeclared (first use this function)
    skincurses.c:107: error: `COLOR_PAIR' undeclared (first use this function)
    skincurses.c:107: error: `wattrset' undeclared (first use this function)
    ../../../include/vdr/osd.h: In member function `virtual void
    cCursesOsd::SaveRegion(int, int, int, int)':
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:119: error: within this context
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:120: error: within this context
    skincurses.c:120: error: `delwin' undeclared (first use this function)
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:121: error: within this context
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:123: error: within this context
    skincurses.c:123: error: `newwin' undeclared (first use this function)
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:124: error: within this context
    skincurses.c:124: error: `copywin' undeclared (first use this function)
    ../../../include/vdr/osd.h: In member function `virtual void
    cCursesOsd::RestoreRegion()':
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:129: error: within this context
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:130: error: within this context
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:130: error: within this context
    skincurses.c:130: error: 'class cBitmap' has no member named '_begy'
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:130: error: within this context
    skincurses.c:130: error: 'class cBitmap' has no member named '_begx'
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:130: error: within this context
    skincurses.c:130: error: 'class cBitmap' has no member named '_maxy'
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:130: error: within this context
    skincurses.c:130: error: 'class cBitmap' has no member named '_begy'
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:130: error: within this context
    skincurses.c:130: error: 'class cBitmap' has no member named '_maxx'
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:130: error: within this context
    skincurses.c:130: error: 'class cBitmap' has no member named '_begx'
    skincurses.c:130: error: `copywin' undeclared (first use this function)
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:131: error: within this context
    skincurses.c:131: error: `delwin' undeclared (first use this function)
    ../../../include/vdr/osd.h:206: error: `cBitmap*cOsd::savedRegion' is private
    skincurses.c:132: error: within this context
    skincurses.c: At global scope:
    skincurses.c:137: error: default argument given for parameter 7 of `void
    cCursesOsd::DrawText(int, int, const char*, unsigned int, unsigned int,
    const cFont*, int, int, int)'
    skincurses.c:71: error: after previous specification in `virtual void
    cCursesOsd::DrawText(int, int, const char*, unsigned int, unsigned int,
    const cFont*, int, int, int)'
    skincurses.c:137: error: default argument given for parameter 8 of `void
    cCursesOsd::DrawText(int, int, const char*, unsigned int, unsigned int,
    const cFont*, int, int, int)'
    skincurses.c:71: error: after previous specification in `virtual void
    cCursesOsd::DrawText(int, int, const char*, unsigned int, unsigned int,
    const cFont*, int, int, int)'
    skincurses.c:137: error: default argument given for parameter 9 of `void
    cCursesOsd::DrawText(int, int, const char*, unsigned int, unsigned int,
    const cFont*, int, int, int)'
    skincurses.c:71: error: after previous specification in `virtual void
    cCursesOsd::DrawText(int, int, const char*, unsigned int, unsigned int,
    const cFont*, int, int, int)'
    skincurses.c: In member function `virtual void cCursesOsd::DrawText(int, int,
    const char*, unsigned int, unsigned int, const cFont*, int, int, int)':
    skincurses.c:170: error: `wmove' undeclared (first use this function)
    skincurses.c:171: error: `waddnstr' undeclared (first use this function)
    skincurses.c: In member function `virtual void cCursesOsd::DrawRectangle(int,
    int, int, int, unsigned int)':
    skincurses.c:178: error: `wmove' undeclared (first use this function)
    skincurses.c:179: error: `whline' undeclared (first use this function)
    skincurses.c:181: error: `wsyncup' undeclared (first use this function)
    skincurses.c: In member function `virtual void cCursesOsd::Flush()':
    skincurses.c:186: error: `refresh' undeclared (first use this function)
    skincurses.c: In constructor `
    cSkinCursesDisplayChannel::cSkinCursesDisplayChannel(bool)':
    skincurses.c:211: error: `COLOR_BLACK' undeclared (first use this function)
    skincurses.c: In member function `virtual void
    cSkinCursesDisplayChannel::SetChannel(const cChannel*, int)':
    skincurses.c:222: error: `COLOR_WHITE' undeclared (first use this function)
    skincurses.c: In member function `virtual void
    cSkinCursesDisplayChannel::SetEvents(const cEvent*, const cEvent*)':
    skincurses.c:227: error: `COLOR_RED' undeclared (first use this function)
    skincurses.c:233: error: `COLOR_CYAN' undeclared (first use this function)
    skincurses.c:234: error: `COLOR_YELLOW' undeclared (first use this function)
    skincurses.c: In member function `virtual void
    cSkinCursesDisplayMenu::SetButtons(const char*, const char*, const char*,
    const char*)':
    skincurses.c:341: error: `COLOR_GREEN' undeclared (first use this function)
    skincurses.c:343: error: `COLOR_BLUE' undeclared (first use this function)
    skincurses.c: In destructor `virtual cPluginSkinCurses::~cPluginSkinCurses()':
    skincurses.c:672: error: `endwin' undeclared (first use this function)
    skincurses.c: In member function `virtual bool cPluginSkinCurses::Initialize()
    ':
    skincurses.c:690: error: `initscr' undeclared (first use this function)
    make[1]: *** [skincurses.o] Fehler 1
    make: *** [plugins] Fehler 2


    Zwischenfrage: Ich habe im /usr/src DVZ einen Link DVB zu den DVB-Kernelheadern. Sollten daß nicht die Sourcen sein? (Hab ich aber bereits ausprobiert, ergibt dieselben Fehlermeldungen.)


    Gruß, DaLi

  • Bei dem skincurses Plugin fehlt eindeutig ncurses-dev, wie msnrw sagte...


    Bei dem anderen Plugin schätze ich mal dass die APIs sich deutlich unterscheiden, was kein Wunder sein dürfte angesichts der Tatsache dass VDR 1.3 eine Entwicklerversion aktuell in der 29. Release ist. Gabs das channelscan Plugin zu 1.3.9 überhaupt schon? :]


    Aja: Für die Smilies gibts unten beim Beitrag erstellen eine Checkbox "Smilies in diesem Beitrag deaktivieren" :D

  • An PeterWeber69: Das Script hat wunderbar funktioniert. Ich bin begeistert! Jetzt kann ich mir ja an einem funktionierendem Beispiel ansehen was bei mir verkehrt war. Danke. Das Scanner-Plugin bricht beim Scannen aber dennoch ab. (Astra auf LNB1 und Hotbird auf LNB2 [diseqc])


    An LordJaxom & msnrw: Das Script hat wahrscheinlich die fehlenden Abhängigkeiten aufgelöst. Ich werde es in ein paar Tagen mit "meiner" Version ausprobieren.


    Gruß, DaLi

  • Moin, vor dem Frühstück ersteinmal ins Board ...


    Klares Jaein. Ich habe Diseqc auf JA und die Orginale ersetzt. (13.0 & 19.2)
    Und daß funktioniert. Man kann die Diseqec Steuerbefehle aber verändern, was durchaus Vorteile bei Einzelnen bringen kann. (wg. Qualität des Diseqc, LNB, Rauschen, Signalstärke).


    Ich habe durch Zufall einen Scan ohne Absturz hingekriegt, vielleicht lag es darann daß ich nach dem Scan des letzten Transponders, zehn Minuten gewartet habe bevor ich die "zurück"-Taste gedrückt hab.


    Das X-Patch hat aber noch etwas bewirkt, daß ich nicht ändern kann weil ich nicht weis wie ... 1. LIRC geht nicht mehr. Die Module lassen sich nicht mehr übersetzen, weil der Ort der Kernelquellen vom x-patch verändert wurde. (Umgebungsvariable?)


    Gruß, DaLi

  • An den ncurses-Librarys lag es nicht. Die Version die ich benutzte war scheinbar zu alt und vielleicht noch etwas anderes. Ich habe noch mal ganz von vorne angefangen und beinahe auf Anhieb VDR 1.3.29, die Pinnacle PCTV-Sat + Creative DXR3 auf Suse 9.3 und Debian compilieren und zum Laufen kriegen können. Ledigleich ein paar Pfade in den Makefiles mußten geändert werden. Ich habe aber immer noch nicht den Lirc + Pinnacle FB zum Laufen gekriegt. (Es ging aber schon!)


    Weis vielleicht jemand was und wie eingestellt werden soll? Mit den Einstellungen


    LIRCD_DEVICE="/dev/lirc"
    LIRCD_DRIVER="pinsys"
    LIRC_MODULE="lirc_serial"
    setserial /dev/ttyS0 uart none
    rclirc start oder /etc/init.d/lirc start.


    und OHNE Remote-Plugin, habe ich es unter Suse9.3 schon genutzt. Welcher IO-Adresse muß eingestellt werden?


    NACHTRAG:
    Kann etwas an den Einstellungen der em8300 Treiber für die CreativeDXR3 gedreht werden, damit sie nicht so empfindlich reagiert? Ein schlechtes Signal oder etwas erhöhte CPU-Belastung zwingen sie sofort zur Aufgabe.


    Gruß, DaLi

  • Zunächst muß eins funktionieren: das Kommando "irw" eingeben und bestätigen. Dannach sieht sollte man keinen Eingabeprompt mehr sehen können, denn irw wartet jetzt auf Signale der Fernbedienung. Wenn jetzt irgendwelche Tasten auf der FB gedrückt werden, denn erscheint der entsprechende Code auf dem Bildschirm. Jetzt Ctrl+C.


    Jetzt VDR mit dem Plugin "remote -l /dev/lircd" starten und vorher die remote.conf aus dem VDR-Configverzeichnis entfernen. Das sollte dazu führen das auf dem Bildschirm eine Aufforderung erscheint die gewünschten Tasten zu drücken. (Selbsterklärend)


    Das Rätsel ist das, daß sich vielleicht eine halbe Minute nichts tutu. Es scheint so als ob der VDR/LIRC nicht will. Nicht abbrechen, sondern warten. Nacheiniger Zeit geht die Fragerei weiter. Zumindest ist das bei mir so.


    IO:0x3f8
    IRQ: 4
    ttyS0



    --------------------
    Debian 3.1r0a + Kanotix 1.2 [Blockierte Grafik: http://www.aijajei.de/www.dalinews.de/images/stories/eigene/smart.jpg]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!