[ANNOUNCE] ExtP-NG für VDR-1.7.13/14/15/16

  • wbreu : Das ist ja schön zu hören. Somit funktioniert die Änderung.


    Taros666 : Nein kann man nicht. Hätte ich es drinbehalten wollen, hätte ich es nicht rausgeworfen.


    Nutzerfreundlich ist es immernoch. Es kann doch nicht so schwer sein, eine Lib zu installieren.


    Zumindest unter Slackware gibt es ein passendes SlackBuild
    und wie ich gelesen habe gibt es für Gentoo auch ein passendes ebuild


    Es gehört nicht zum Konzept von Linux jede Lib statisch in ein Programm reinzukompilieren, sowas gibts nur unter Windows.


    Ein paar Kilobyte machen gar nix, aber die Hälfte des Patches nur für Setup sehe ich nicht ein. Ich suche schon länger nach einer Lösung, die TinyXML-Files loszuwerden und habe es somit geschafft.

  • Quote

    Original von Copperhead
    Es gehört nicht zum Konzept von Linux jede Lib statisch in ein Programm reinzukompilieren, sowas gibts nur unter Windows.


    Hä? Wohl noch nie in der DLL-Hölle gewesen, was?


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Danke erst mal für den Schubser in die richtige Richtung. Hat leider nichts geholfen!


    Code
    1. easyVDR:/usr/local/src/VDR# make
    2. g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -rdynamic audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o rcu.o receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o skinclassic.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o timers.o tools.o transfer.o vdr.o videodir.o submenu.o iconpatch.o -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig -ltinyxml ./libsi/libsi.a -o vdr
    3. /usr/bin/ld: cannot find -ltinyxml
    4. collect2: ld returned 1 exit status
    5. make: *** [vdr] Fehler 1


    die tinyxml..... liegt jetzt unter:

    Code
    1. easyVDR:/usr/local/src/VDR# strings /etc/ld.so.cache | grep libtinyxml
    2. libtinyxml.so.2
    3. /lib/libtinyxml.so.2
    4. libtinyxml.so.2
    5. /usr/lib/libtinyxml.so.2


    was mach ich noch falsch?


    lg prudentis

  • nach /usr/lib bzw /usr/lib64 gehören folgende files


    newmain lib64 # ls -l
    insgesamt 248
    -rw-r--r-- 1 root root 156904 26. Sep 12:28 libtinyxml.a
    lrwxrwxrwx 1 root root 19 26. Sep 12:28 libtinyxml.so -> libtinyxml.so.2.6.1
    lrwxrwxrwx 1 root root 19 26. Sep 12:28 libtinyxml.so.2 -> libtinyxml.so.2.6.1
    -rwxr-xr-x 1 root root 93184 26. Sep 12:28 libtinyxml.so.2.6.1


    wobei libtinyxml.so und libtinyxml.so.2 links auf libtinyxml.so.2.6.1 sind


  • So hab ich es versucht, ging nicht unter EasyVDR!
    es hat aber auch nur der Symlink

    Code
    1. libtinyxml.so -> libtinyxml.so.2.6.1


    gefehlt. Jetzt kompiliert der VDR durch!


    Danke für die Hilfe



    lg prudentis

  • Erstmal vorweg: Danke für den aktualisierten Ext-Patch!
    Aber das hier funzt net so richtig (zumindest unter easy-vdr 0.8 ):



    Benötigt man dafür ne spezielle tinyxml version?
    Wenn man die 2.6.1 von Sourceforce nimmt, funzt das nicht.
    1) ein ./configure script ist nicht enthalten
    2) ein "make" erzeugt nur eine "tinyxml.o" aber keine lib
    3) das Makefile kennt keine "install" option


    Code
    1. easyVDR:/usr/local/src/tinyxml# ./configure
    2. -bash: ./configure: Datei oder Verzeichnis nicht gefunden
    3. easyVDR:/usr/local/src/tinyxml# make g++ -c -Wall -Wno-unknown-pragmas -Wno-format -O3 tinyxml.cpp -o tinyxml.o g++ -c -Wall -Wno-unknown-pragmas -Wno-format -O3 tinyxmlparser.cpp -o tinyxmlparser.o g++ -c -Wall -Wno-unknown-pragmas -Wno-format -O3 xmltest.cpp -o xmltest.o g++ -c -Wall -Wno-unknown-pragmas -Wno-format -O3 tinyxmlerror.cpp -o tinyxmlerror.o g++ -c -Wall -Wno-unknown-pragmas -Wno-format -O3 tinystr.cpp -o tinystr.o g++ -o xmltest tinyxml.o tinyxmlparser.o xmltest.o tinyxmlerror.o tinystr.o
    4. easyVDR:/usr/local/src/tinyxml# make install
    5. make: *** Keine Regel, um »install« zu erstellen. Schluss.
    6. easyVDR:/usr/local/src/tinyxml#


    BTW: Ich fände es auch super praktisch wenn eine passende tinyxml version im ext-patch enthalten währe. ;)

  • Quote

    Verwendest du das Setup-Plugin? Wenn nicht, dann deaktivier das und gut.


    Jepp bei EasyVDR wird es verwendet! Es gibt aber im Moment noch einen VDR Absturz bei der Anwahl des Menüs.
    Leider wird nichts Sinnvolles mitgeloggt, daher wir die Suche nach dem Fehler etwas schwieriger!



    oder die dmesg, da gibts nen Trace:


    lg prudentis

  • TinyXML kennt in der Tat kein "make install". Ganz schöner Murks, dieses Makefile.


    Gentoo bastelt sich deshalb alle Dateien manuell an die Zielposition.


    Bei Slackware ebenso:
    http://slackbuilds.org/slackbu…inyxml/tinyxml.SlackBuild


    Und bei Debian gibt es das Paket für die stabile Version nicht.


    Soll heißen: Nicht nur das .so sondern auch die Header dürfen, bzw. müssen manuell an die richtige Stelle kopiert werden. Dafür braucht es dringend noch eine Lösung... Ich bin für kleines Shellscript, das mit dem ExtPatch ausgeliefert wird und im Basisverzeichnis von tinyxml die Installation durchführt. Alternativ könnte man deren Makefile patchen, dass make install tut.


    Nachtrag:
    Vorteil der Slackware SlackBuild-Scripte ist, dass die pur Shell sind. Kann also eigentlich jeder nutzen. Dafür einfach die letzte Zeile ("/sbin/makepkg ...") durch etwas wie


    cp -var . /


    ersetzen. Source-Tarball in das gleiche Verzeichnis wie das SlackBuild werfen und das SlackBuild ausführen.
    Allerdings reicht das Script alleine nicht aus. Ihr braucht das ganze Archiv:
    http://slackbuilds.org/slackbu…/libraries/tinyxml.tar.gz

  • Quote

    Original von Imsadi
    ldconfig ausgeführt ?


    Noch mal als Nachklapp: ggf. auch /etc/ld.so.conf anpassen - wenn man viele eigenkompilierten libs in /usr/local/lib liegen hat, dann sollte man dieses Verzeichnis auch in das conf-File aufnehmen.


    Marcus

    My VDRs: