schon wieder so ein ./make Thema

  • Hallo Zusammen,


    ich habe Probleme bei der Kompilierung von vdr.2.4.6. Der make Prozess bricht mit nachfolgendem Fehler beim skincurses plugin ab. Hat jemand vielleicht eine Idee wie ich mich dem Problem weiter nähern kann?


    Ich habe mir ein LXC Container mit Debain 9 erstellt und die DVB Karte freigegeben. Parallel habe ich die Version 2.4.1 aus den Paketquellen installiert jedoch ohn dvb*- plugin, was ich jetzt manuel mit der aktuellen vdr Version erstellen möchte.


    Danke, Mark

  • Installier mal libncurses-dev


    VG

  • Code
    1. /usr/bin/ld: cannot find -lncursesw

    Dem linker fehlt die libncursesw Bibliothek, im Falle Debian 9 sollte das https://packages.debian.org/stretch/libncursesw5 sein.

    Gruß Andreas

  • Dem linker fehlt die libncursesw Bibliothek, im Falle Debian 9 sollte das https://packages.debian.org/stretch/libncursesw5 sein.

    Gruß Andreas


    Hey Andreas,


    der Link identifiziert das Paket libncursesw5 welches ich dann mit apt-get install libncursesw5 installiert habe. hier die Bestätigung

    Code
    1. root@vdr:/usr/local/src/vdr/vdr-2.4.6# apt-get install libncursesw5
    2. Paketlisten werden gelesen... Fertig
    3. Abhngigkeitsbaum wird aufgebaut.
    4. Statusinformationen werden eingelesen.... Fertig
    5. libncursesw5 ist schon die neueste Version (6.0+20161126-1+deb9u2).
    6. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.


    Auch wird eine Datei bzw. ein SymLink unter dem Pfad gefunden

    Code
    1. root@vdr:/usr/local/src/vdr/vdr-2.4.6# ls -l /usr/bin/ld
    2. lrwxrwxrwx 1 root root 19 Mai 10 2017 /usr/bin/ld -> x86_64-linux-gnu-ld


    Leider wird nach dem ./make immer noch diese Meldung ausgegeben

  • Versuche es mal mit dem Paket libncursesw5-dev.

    8) Danke an Euch alle. Es ist fehlerfrei durchgelaufen


    Aber mal gefragt..... wie lässt sich das rückwarts aufschlüsseln bzw. nach suchen. Kann doch nicht sein, dass man Euch Profis damit behelligen muss...

  • Hi,


    Build-Depends findet man im Dir debian/control

    ...für VDR also hier

    https://salsa.debian.org/vdr-t…lob/master/debian/control


    Gruss

    Wolfgang

    TT S2-6400 - saa716x kompilieren unter 20.04(Focal)

  • Ich würde Euch nochmals gerne fragen, wo ich eine Erklärung finde, wie nach dem Kompilieren weiter zu verfahren ist. Leider wurde ich bisher nicht fündig.


    in /usr/locale/serc/vdr/vdr-2.4.6/ habe ich nun erfolgreich mit make das Projekt kompilieren können. Neben dem vdr hatte ich unter PLUGINS noch epgsearch, live, vnsiserver und dvba* abgelegt, sodass diese mit bearbeitet wurden.


    Ist das Ergebnis ausschließlich die vdr Datei oder gehören dazu noch weitere Bibliotheken?


    make INSTALL scheint schon durch make abgearbeitet worden zu sein...


    Hatte auf dem system zuvor ein 2.4.1 ohne *api aus den Debian Paketen lauffähig. Wie binde ich jetzt die neue Version in systemd ein bzw. tausche die relevanten Dateien aus?


    Kann mir jemand einen Tipp geben? Danke

  • Wenn deine build Umgebung stimmt, dann geht es mit:

    make all

    make install

    Außer dem VDR selbst werden dabei auch noch je Plugin ein "shared object" mit dem Namen libvdr-<Plugin-Name>.so.<ABI Version> installiert.

    VDR
  • Wenn deine build Umgebung stimmt, dann geht es mit:

    make all

    make install

    Außer dem VDR selbst werden dabei auch noch je Plugin ein "shared object" mit dem Namen libvdr-<Plugin-Name>.so.<ABI Version> installiert.

    Mir war nicht bewusst, dass make install anders ist als make INSTALL. Im ersten Fall für nur der erste Teil mit den *** Plugins ausgeführt.


    OK, die Dateien wurden erzeugt und in /usr/local/bin erzeugt. Da im Debian Paket zuvor die Dateien in /usr/bin bzw. /usr/lib/ lagen habe ich diese jetzt manuell ausgetauscht.


    Über service vdr start wird zwar gestartet jedoch wieder abgebrochen, das auch das satip Plugin erwartet wird. Jedoch frage ich mich, warum er dieses einbinden will. Es liegt keine Lib in og. Verzeichnis, von dem ich dachte, dass nur diese eingebunden werden.


    Auszug syslog

    Mar 29 22:07:50 vdr vdr[8743]: vdr: /usr/lib/vdr/plugins/libvdr-satip.so.2.4.6: Kann die Shared-Object-Datei nicht ffnen: Datei oder Verzeichnis nicht gefunden


    Gibt es eine Config Datei oder einen anderen Trigger, der die zu ladenden Plugins definiert?

  • Du hättest beim bauen vorher per Präfix den Pfad anpassen sollen. Dann wäre der VDR in die richtigen Verzeichnisse installiert worden.


    Wieso nimmst du nicht ein Ubuntu Focal in einem Container, machst Dir einen yaVDR ansible (ggf. headless bei serverbetrieb) drauf und kompilierst Dir nur noch dvb...

    neu? Das ist wahrscheinlich der einfachere und schnellere Weg.


    VG

  • Du hättest beim bauen vorher per Präfix den Pfad anpassen sollen. Dann wäre der VDR in die richtigen Verzeichnisse installiert worden.

    das habe ich mir dann auch gedacht. aber nun gut.



    Wieso nimmst du nicht ein Ubuntu Focal in einem Container, machst Dir einen yaVDR ansible (ggf. headless bei serverbetrieb) drauf und kompilierst Dir nur noch dvb...

    neu? Das ist wahrscheinlich der einfachere und schnellere Weg.

    Um ehrlich zu sein, blicke ich bei all den Varianten nicht ganz durch. Habe zwar grundsätzliches Verständnis aber die Erafhrung fehlt mir dann doch. Habe nun einen Deb9 LXC Container im Proxmox der nur für vdr zuständig ist. Was ja auch grundsätzlich funktioniert.


    Aktuell verstehe ich halt nicht warum beim Start nach dem satip Plugin gesucht wird. Ok, ich hatte dieses zuvor mal installiert, jedoch dachte ich mit dem Löschen bzw. verschieben der alten 2.4.1 .so. Dateien werden nur noch die neuen verwendet.


    Daher die Frage wo definert ist, welche so's geladen werden sollen???


    Danke :-)

  • Unter etc/vdr/ müsste da irgendwo eine Konfigurationsdatei für das satip-plugin sein. Die kannst du ja mal verschieben. Dann sollte es gehen.