So kompiliert man fuer LinVdr

  • Hallo zusammen,
    ich habe mich in den letzten zwei Wochen mal damit beschaeftigt,
    VDR auf meinem LINVDR zu kompilieren,
    und siehe da, es hat geklappt und ich will das hier mal ein bissel beschreiben, weil ich selber auch echte Schwierigkeiten bekommen habe, hier was zu finden. Dazu muss ich noch sagen, das ich kaum was dazu sagen kann, wenn etwas schieflaufen sollet, da ich selbst nicht viel Ahnung von dem ganzen Kram habe, aber es reicht um VDR zu kompilieren! Also nicht beschweren wenns nicht klappen sollte.
    Ausserdem geschieht das Alles auf eigene Gefahr und wer kein Backup macht, ist wie immer selber Schuld.
    Noch eins, es mag sein, das ich hier einige unnuetze Schritte gehe, evtl, kopiere ich die Eine oder Andre lib auch zweimal, aber war mir egal.


    Mein erster Schritt zum Erfolg war es ein blankes LINVDR0.6 aufzusetzen,
    da es mit den vorherigen Versionen(vdr-1.3.12 von Luzifer) nicht gescheit funktioniert hat.


    ###VDR###


    Also zuerst muss man mal eine ganze Menge ueber das debtoo installieren und die entsprechenden Links setzen.


    Code
    debtool -u
    debtool -i gcc-2.95 make libc6-dev cpp-2.95 libjpeg62-dev binutils libstdc++2.10-dev g++-2.95
    ln -s /usr/bin/gcc-2.95 /usr/bin/gcc
    ln -s /usr/bin/gcc /usr/bin/cc
    ln -s /usr/bin/g++-2.95 /usr/bin/g++


    Das war der Compiler wie auf www.linvdr.org beschrieben.


    Dann das CVS-Checkout fuer die DVB-Treiber


    Code
    debtool -i cvs
    mkdir /usr/src
    cd /usr/src
    cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login


    Das Kennwort einfach mit Enter bestaetigen.

    Code
    cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel
    ln -s /usr/src/dvb-kernel/linux /usr/src/DVB


    Jetzt noch mal ein neuer Compiler.



    Und das kompilieren am Beispiel von vdr-1.3.15.


    Code
    cd /usr/src
    wget [URL]ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.15.tar.bz2[/URL]
    tar -xvjf vdr-1.3.15.tar.bz2
    cd vdr-1.3.15
    make


    /edit: Fuer alle einen Lirc- Ir- Empfaenger benutzen, muessen:

    Code
    make REMOTE=LIRC

    machen!


    Das sollte vdr kompilieren.


    Jetzt muessen ALLE Plugins im Setup und auch die, die manuell in der runvdr gestarte werden, deaktiviert werden
    und fuer Leute die das Remote-Plugin benutzen, muessten erstmal wieder auf Lirc stellen.
    Am besten mach macht da einen Reboot zwischen.


    Die fertig kompilierte vdr- Datei liegt in "/usr/src/vdr-1.3.15" und muss verschoben werden, hier loesche ich die alte Datei lieber, weil ich nicht weiss wie LINVDR damit umgeht.


    Code
    cd usr/src/vdr-1.3.15
    /etc/init.d/runvdr stop
    rm -fR /usr/bin/vdr 
    mv vdr /usr/bin


    ###Plugins###


    Hier sag ich euch nur mal wie man text2skin kompiliert,
    das ist wohl das schwierigste.
    Die anderen Plugins lassen, wenn nicht sofort, dann nach lesen der README
    eigentlich so kompilieren,
    Es kann natuerlich vorkommen, das man nach gewissen Fehlern vielleicht mal hier im Portal,
    oder auch auf der MailingList suchen muss.
    Das wichtigste ist eigentlich das das jeweilige Plugin auch mit der Vdr-Version kompatibel ist.
    Aber das findet man nach ein bischen suchem im Portal, schon heraus!


    -text2skin


    Wieder muss ein ganzer Haufen Libs installiert werden.


    Code
    debtool -i imagemagick libmagick++5 libmagick++5-dev libmagick5 libmagick5-dev grep grep-dctrl
    debtool -i libpng-dev libpng2 libpng2-dev libpng3 libpng3-dev libglpng libglpng-dev
    debtool -i libstdc++2.10-glibc2.2 libgl1 libgl-dev libpng1-dev libpng2 zlib1g-dev clanlib-png gif2png
    debtool -i libbz2-1.0 libfreetype6 libjpeg62 liblcms libtiff3g libwmf0.2-2 libxml2 xlibs zlib1g


    Dann muss ImageMagic gezogen und selbst kompiliert werden!


    Code
    cd /usr/src
    wget [URL]ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.0.4-5.tar.gz[/URL]
    tar -xzf ImageMagick-6.0.4-5.tar.gz
    cd ImageMagick-6.0.4
    ldconfig
    ./configure --prefix=/usr --with-png=yes
    make
    make install


    Kommen wir dann zum text2skin


    Code
    cd /usr/src/vdr-1.3.15/PLUGINS/src
    wget [URL]http://www.magoa.net/linux/files/vdr-text2skin-0.0.8.1.tgz[/URL]
    tar -xzf vdr-text2skin-0.0.8.1.tgz
    ln -s text2skin-0.0.8.1 text2skin
    cd ../..
    make plugins


    Das wars auch schon.
    Jetzt muessen alle alten Plugins geloescht werden:


    Code
    rm -fR /usr/lib/vdr/plugins/*.1.2.6


    Das fertig komilierte Plugins befindet sich in "/usr/src/vdr-1.3.15/PLUGINS/lib" und muss verschoben werden.


    Code
    cd /usr/src/vdr-1.3.15/PLUGINS/lib
    mv libvdr-text2skin.so.1.3.15  /usr/lib/vdr/pluigins/s


    Die gleiche Vorgehensweise ist fuer andre Plugins anzuweden,
    meistens muessen diese noch gepatcht werden, nur funktioniert das manchmal nicht so ganz mit LINVDR und ein zweites Linux-System waere hilfreich.


    Code
    cat patchname.diff | patch -p1
    zcat patchname.diff.gz | patch -p1


    Jetzt noch eine sehr hilfreiche Seite:
    http://home.t-online.de/home/h….sandmann/vdr_plugins.htm


    und das wars auch schon,
    aber wie schon gesagt, alles auf eigene Gefahr, und wenn da Fehler auftauchen, bin ich wahrscheinlich nicht der richtige Ansprechparter,
    aber fragt trotzdem, es gibt genug Leute hier kompilieren koennen
    und euch evtl. sogar helfen!


    /edit: ganz vergessen, ich habe mir noch zusaetzlich das Lib-Paket von Luzifer und die beiden von decembersoul installiert.
    /edit2: noch mehr vergessen, ich trottel, vielen vielen dank nochmal an maz, der viel viel zeit mit mir im irc verbracht hat, bis mein erstes selbstkompiliertes vdr endlich lief..
    __
    andreas


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

    3 Mal editiert, zuletzt von BooStar ()

  • Freut mich das Du es geschafft hast.
    Wenn man nun zurückblickt, war es doch garnicht so schwer oder?


    Fallst Du muggle oder osdimage übersetzen willst, kann ich die meine src zur verfügung stellen. Ich habe an beiden eine kleine ändereung vorgenommen, so das man das Plugin auch ohne Parameter für linvdr starten kann.

  • waere nett, wenn du mir muggle mal schicken koenntest...
    ich schreib dir eine pm ..


    __
    andreas


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Zitat

    Original von BooStar
    Jetzt noch mal ein neuer Compiler.


    warum ? wieso bleibst Du nicht beim zuerst installierten 2.95 ? (Bzw. warum installiert Du erst 2.95, wenn Du hinterher doch einen anderen Compiler installierst?)


    Da der Kernel und alles andere auch mit gcc 2.95 erstellt ist, dachte ich immer, man muss auch für einzelne Anwendungen dann stringent beim gleichen Compiler bleiben.


    Gruß
    Dr. Seltsam

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • hi,
    also das mit dem compiler und kernel vs. userspace dachte ich früher auch.
    aber offensichtlich macht es keine probleme den kernel mit einem anderen compiler zu übersetzen als die userspace programme (warum solle es auch).
    wie es mit bibliotheken aussieht kann ich nicht sagen. evtl. klappt da ein mit gcc 2.95 kompiliertes imagemagic nicht mit dem auf gcc3 kompilierten text2skin. keine ahnung wie das jetzt genau klappt. ich denke da kommt es auch auf den verwendeten linker an.


    und hier wollte ich auch nachfragen: warum kompilierst du imagemagick neu? die version die bei woody dabei ist klappt doch ohne probleme (bei mir jedenfalls - ich nutze debian woody, nur mit wenigen backports).

  • Hi,

    Zitat

    warum kompilierst du imagemagick neu?


    bin zwar nicht boostar ;) hab das aber auch neu compiliert. Bei mir war's so, dass mit dem originalen ImageMagick (ich glaub das ist 5.4.4 oder so) bei text2skin Darstellungsprobleme (Stichwort zerbröselte LOGO's) auftraten. Erst nach Upgrade auf eine neuere Version (bei mir auch 6.0.4) war das weg. Wahrscheinlich war das auch der Grund für boostar.
    Gruß
    steini

    1.: Multitainer, P3 Celeron 1,1GHz, 320MB, Samsung 300GB, TT 1.3 (4MB), TT-Budget, IR Selbstbau, µC-Wakeup-Selbstbau, RGB & SPDif über Platine von STB
    mod. Linvdr 0.7 (auf 512 Mb CF), AC3-Firmware 2623
    2.: Met@box 500, 64 MB, mod. Linvdr0.7 (auf 128 Mb CF), 20GB Seagate, TT 1.5

  • hallo leute,
    also ich hab hab halt alles so beschrieben,
    wie ich das gemacht hab!
    imagemagick musste neu kompiliert werden, weil sonst text2skin nicht kompilieren wollte.
    und das mit dem compilier musste, weil sonst vdr nicht kompiliert!
    warum weiss ich nicht, ich habe halt nur eine (zumindest bei mir) funktionierende loesung vorgestellt!


    __
    andreas


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • @Bootstar


    Danke für Deine Zusammenfassung, das kann mir demnächst evtl. weiterhelfen.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Zitat

    Die gleiche Vorgehensweise ist fuer andre Plugins anzuweden,
    meistens muessen diese noch gepatcht werden, nur funktioniert das manchmal nicht so ganz mit LINVDR und ein zweites Linux-System waere hilfreich.


    Hi,


    das Problem hatte ich auch. Lag bei mir am Patch-Kommando vom LinVDR!
    Patch Befehl gelöscht und mittels debtool -i patch neu installiern und
    ich konnte problemlos die Patche einspielen.


    Gruss

    Streamingclient 1:
    [-] RaspiVDR MLD 5.x an Panasonic TV mit CEC :D


    Streamingclient 2:
    [-] RaspiVDR MLD 5.x - Samsung TV mit CEC


    Streamingserver:
    [---] Proxmox Server PVE7
    [- ] MLD 5.x Server - OctopusNet 4 Tuner

    Einmal editiert, zuletzt von MarkusH ()

  • Find ich super dass Du Dir die Mühe einer Anleitung gemacht hast. Ich werd mal versuchen ob ich es mit Deiner Hilfe schaffe.


    Edit: habe ein problem mit Polgender Zeile

    Code
    cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
    cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel
    ln -s /usr/src/dvb-kernel/linux /usr/src/DVB


    Ich habe nämlich das Porblem, dass ich kein Internet an dem PC habe und auch nicht weis, welche Dateien du mit dem Befehl herunterlädst.ist das nur der normale DVB-Treiber (wahrscheinlich nicht).

  • schmalzz:
    vielen dank, werde ich gleich mal ausprobieren!


    Laz-Y:
    ich kann dir leider nicht sagen was diese zeilen zu bedeuten haben,
    aber du koenntest vllt mal versuchen, auf einer anderen linux-maschine diesen befehl auszufuehren und die datein dann auf deinen vdr zu schieben, aber ich hab keine ahnung ob dsas funktioniert.


    __
    andreas


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Danke für Deine Antwort :)
    So wie ich das sehe erstellt das CVS zumindest eine Verzeichnisstruktur in /usr/src/. Ich werd das tatsächlich mal mit meinem anderen System ausführen und dann versuchen, rüberzukopieren ...

  • Zitat

    Original von BooStar
    ich kann dir leider nicht sagen was diese zeilen zu bedeuten haben,


    Is doch simpel :mua


    1. Zeile -> einloggen auf dem CVS Server
    2. Zeile -> wat will ich denn hier - ja genau - die DVB Treiber - holen , bzw vorhandene updaten .
    3. Zeile , offensichtlich ein Symlink , der von VDR ja an genau dieser Stelle mit genau dem Namen erwartet wird , wenn du den compilieren willst .


    cvs --help sei am Rande erwähnt ;)


    HJS

  • Hmm, kann ich mir die Dateie(n) auch ohne cvs rutnerladen und installieren? ich bekomme mit meinem debian-rechner nämlich keine verbindung ins internet (network unrechabale). mach da schon seid stunden rum ...
    Oder muss ich den Download auf jedenfall mit cvs durchführen (hab gelsen, dass cvs sich um die Versionsverwaltung kümmert)


    edit: so, das Problem ist gelöst. Ich hab cvs nun auf dem anderen System ausgeführt. Hoffe das rüberkopieren funktioneirt (da in dem PC keine TV-Karte drinsteckt)

  • Habe gerade mal versucht nach der Anleitung den VDR 1.3.15 zu kompilieren. Hat leider nicht geklappt.
    Da hier einige Leute geschrieben haben, dass man den Compiler nur einmal braucht habe ich fälschlicherweise mit dem gcc 2.95 versucht den Vdr1.3.15 zu kompilieren, was prompt mit einem Fehler 'cannot cast char -> char *" o.ä quittiert wurde. Also hab ich dann doch wie oben beschrieben den gcc3.0 installiert und den Kompiliervorgang (make REMOTE=LIRC) wieder gestartet. Dann hat er ca. 10min fehlerfrei compiliert (hab nur einen 233Mhz Pentium als VDR) aber am Schluss mit 1000 Fehlermeldungen abgebrochen. Die ersten Meldungen kann ich nicht mehr sehen, aber vielleicht kann jemand mit den restlichen hier was anfangen:

    Code
    svdrp.o: In function `cSVDRP::CmdNEWC(char const*)':/usr/src/vdr-1.3.15/svdrp.c:947: undefined reference to `cChannel::cChannel[in-charge]()
    .
    .
    /usr/src/vdr-1.3.15/vdr.c:124: undefined reference to `cCaDefinition::Parse(char const*)'
    collect2: ld returned 1 exit status
    make: *** [vdr] Error 1


    Irgendwelche Tipps?
    Gruß
    Jarny


    PS: Ich konnte komischerweise den gcc3.0 nicht sofort benutzen weil die Permissions nicht gestimmt haben. Erst nach chmod +x für g++, gcc und gcov lief der Compiler. Hast du das vergessen zu beschreiben oder ist das nur bei mir so? Fehlt evtl. noch mehr in der Beschreibung???

    MLD 3.0.3 Server. Aufnahmen schaue ich mit einem separaten XBMC (OpenElec Distribution) im Wohnzimmer am 47 Zoll HD Fernseher

  • Hallo,


    auch ich bin gerade dabei nach der Anleitung das System aufzusetzen.
    Die erste Unstimmigkeit hatte ich bereits bei "rm gcov" => war nicht vorhanden.
    Danach konnte ich mit wget die Dateien nicht herunterladen
    "... wget: not an http or ftp url ...". Die Daten habe ich dann am 2. Rechner
    heruntergeladen und manuell in das Verzeichnis kopiert.
    Bis dahin sollte auch trotz der Fehlermeldung und des anderen Weges
    alles noch funktionieren oder?


    Aber bei debtool -i libc-dev erhalte ich jetzt die Meldung das er nichts finden kann ;(


    Was mache ich falsch bzw. kann ich tun?


    Gruß Kail

    VDR: ASUS P4P800-VM, Celeron 2.5 GHz, 256 MB-RAM, 2 x 160 GB Samsung SV1604N, TT 1.5 (4MB), TT-Budget, Extension-Board (TBE)
    LinVDR0.7 + Dr.Seltsam 2.6.18 + vdr-1.4.7 + BP + diverse Plugins
    Betatester v. steini-Paketen
    Test-VDR: ASUS P5QL Pro, E7500, 4 GB RAM, 1TB WD EADS, Media-Pointer S2, Ubuntu10.10 + vdr-1.7.16

  • Zitat

    Originally posted by Kail
    Die erste Unstimmigkeit hatte ich bereits bei "rm gcov" => war nicht vorhanden.


    Hatte ich auch, aber kann man glaub ich einfach ignorieren.



    Hast du evtl. per Copy and Paste den Code aus den Postings über Putty in die Konsole gepastet? Da musst du das

    Code
    [URL] und [/URL]

    in den Zeilen bei wget löschen.
    Gruß
    Jarny

    MLD 3.0.3 Server. Aufnahmen schaue ich mit einem separaten XBMC (OpenElec Distribution) im Wohnzimmer am 47 Zoll HD Fernseher

  • Hallo,


    erst einmal vielen Dank für die ausführliche Anleitung!


    Hab jetzt mehrmals die vorgegebene Prozedur auf einem "Dummy-System" ( d.h. ohne DVB-Karte) angewendet und bin jedesmal an der Kompillierung des VDR 1.3.15 aufgrund Fehlermeldungen gescheitert.


    Die Geschichte mit den fehlenden x-Berechtigungen der von gcc, g++ und gcov war mir dann heute unahbängig von jarny auch aufgefallen. Nach der Behebung lief wenigstens der Kompilerlauf mal ein wenig länger! Hier gibt es aber immer noch fehlende Abhängigkeiten!


    Fehlersuche: Eine geforderte Lib für den neuen Compiler lässt sich nicht runterladen!


    debtool -i libc-dev
    --> Can't find package: libc-dev


    Hab mal statt dessen libc6-dev genommen!????


    Was tun?

    MfG
    Thomas


    yaVDR 0.5: MSI K9AG Neo2-Digital, Athlon X2 BE-2400, RAM: 4GB; HDMI: ZOTAC GT610; HDD: 3TB; DVB-S2: 2x TBS-6981 Doppel-Tuner; FB: Pollin X10
    Streaming-Clients: S100 mit 2,5"-HDD unter Zendeb 0.3 von Egalus

  • Zitat

    Original von jarny
    Hast du evtl. per Copy and Paste den Code aus den Postings über Putty in die Konsole gepastet? Da musst du das

    Code
    [URL] und [/URL]

    in den Zeilen bei wget löschen.
    Gruß
    Jarny


    Nein, ich habe alles 1 zu 1 nach der Anleitung eingetippt.
    Aber Du hast recht, wenn ich [ URL ] und [ /URL ] weg lasse funktioniert es.



    Das ist genau auch meine Fehlermeldung. Aber ob das mit der libc6
    so richtig ist?


    Gruß Kail

    VDR: ASUS P4P800-VM, Celeron 2.5 GHz, 256 MB-RAM, 2 x 160 GB Samsung SV1604N, TT 1.5 (4MB), TT-Budget, Extension-Board (TBE)
    LinVDR0.7 + Dr.Seltsam 2.6.18 + vdr-1.4.7 + BP + diverse Plugins
    Betatester v. steini-Paketen
    Test-VDR: ASUS P5QL Pro, E7500, 4 GB RAM, 1TB WD EADS, Media-Pointer S2, Ubuntu10.10 + vdr-1.7.16

Jetzt mitmachen!

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