vdr-plugin-skindesigner auf raspi2

  • Hallo zusammen,


    seit einigen Wochen beiße ich mir am vdr-plugin-skindesigner die Zähne aus.
    Umgebung ist ein raspberry2 mit raspbian 7 und vdr 2.2.0.


    Beim Kompilieren vom vdr-plugin-skindesgner (letzte Version aus dem GIT) geht alles glatt, keine Fehlermeldung.


    Sobald skindesigner als plugin zusammen mit VDR geladen wird, kommt folgende Fehlermeldung:


    Ich wollte das Plugin vor allem deswegen einsetzen, um eine bessere Darstellung von vdr-plugin-plex zu erhalten.


    Der VDR selbst läuft problemlos mit skinnopacity.


    Ist wahrscheinlich ein curl-Problem (?):

    Code
    1. root@vdr-pi:/usr/local/src/vdr/PLUGINS/src/skindesigner# curl-config --libs
    2. -L/usr/local/lib -lcurl -lidn -lrtmp -lssh2 -lssl -lcrypto -lssl -lcrypto -llber -lldap -lz -lrt
    3. root@vdr-pi:/usr/local/src/vdr/PLUGINS/src/skindesigner# curl-config --libs --version
    4. -L/usr/local/lib -lcurl -lidn -lrtmp -lssh2 -lssl -lcrypto -lssl -lcrypto -llber -lldap -lz -lrt
    5. libcurl 7.42.1


    Das Plugin wird mit den anderen Plugins wie folgt aufgerufen:

    Code
    1. VDRPLUGINS="-Ptvscraper -Ptvguide -Pskindesigner -Pplex -Prpihddevice -P'satip -s 192.168.2.32 -d2 ' -Pfemon -Plive -Pepg_sync -Psuspendoutput -Pvnsiserver -Premotetimers -P'svdrpservice 192.168.2.34:6419' "


    Da ich nicht mehr weiter weiß, frag ich mal die Götter des Forums.
    Auch Hinweise auf weiterführende Literatur nehme ich in Demut entgegen - gefühlt hab ich schon alles zum Thema gelesen ... leider klickt es nicht.


    Schönen Abend
    Mister.Spliss

  • X509_free ist Bestandteil von openssl, da wird also irgendwas beim Linken fehlen. Welcher Schalter genau, kann ich so aber auch nicht sagen.


    Wie sieht den der Linker-Aufruf beim Bauen des skindesigner aus?


    Lars

  • Das ist der Aufruf:

    Code
    1. g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -shared skindesigner.o config.o setup.o designer.o displaychannel.o displaymenu.o displaymessage.o displayreplay.o displaytracks.o displayvolume.o displayplugin.o libcore/cairoimage.o libcore/curlfuncs.o libcore/pixmapcontainer.o libcore/fontmanager.o libcore/imagecache.o libcore/helpers.o libcore/imageloader.o libcore/libxmlwrapper.o libcore/recfolderinfo.o libcore/skinsetup.o libcore/skinrepo.o libcore/extrecinfo.o libcore/timers.o libtemplate/globals.o libtemplate/parameter.o libtemplate/template.o libtemplate/templateview.o libtemplate/templateviewelement.o libtemplate/templateviewlist.o libtemplate/templateviewgrid.o libtemplate/templatepixmap.o libtemplate/templateviewtab.o libtemplate/templatefunction.o libtemplate/templateloopfunction.o libtemplate/xmlparser.o views/animation.o views/view.o views/viewgrid.o views/viewhelpers.o views/displayviewelements.o views/displaychannelview.o views/displaymenurootview.o views/displaymenuview.o views/displaymenulistview.o views/displaymenuitemview.o views/displaymenuitemcurrentview.o views/displaymenudetailview.o views/displaymenutabview.o views/displaymessageview.o views/displayreplayview.o views/displayreplayonpauseview.o views/displayvolumeview.o views/displayaudiotracksview.o views/displaypluginview.o -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lcairo -lpng12 -ljpeg -L/usr/lib -lxml2 -L/usr/local/lib -lcurl libskindesignerapi/libskindesignerapi.so.0.0.2 -o libvdr-skindesigner.so


    SSL kommt nicht drin vor.
    Ist auch nicht in den Requirements genannt. Deshalb dachte ich, dass es was mit curl zu tun haben müsste.

  • Hi,


    Build-Depends Plugin skindesigner

    Code
    1. Build-Depends: debhelper (>= 9), vdr-dev (>= 2.0.0), pkg-config, gettext, libjpeg-dev, librsvg2-dev, libcairo2-dev, libxml2-dev, libcurl4-openssl-dev (>= 7.36.0)


    Gruss
    Wolfgang

    The post was edited 1 time, last by wolfi.m ().

  • Nutzt du denn das "normale" curl oder das mit ssl, wie es in den Build-depends steht, die Wolfgang gepostet hat?


    Lars.

  • Moin,


    aus meiner Sicht schaut das auch schwer nach der libcurl4-openssl-dev aus. Das diese Version zwingend benötigt wird, war mir ehrlich gesagt nicht wirklich klar. Wenn dem so ist, werde ich das README dementsprechend anpassen, damit es der nächste Suchende ein bisschen einfacher hat ;)


    Ciao Louis

  • Das hängt vermutlich mit den Distributionen zusammen. Unter Debian/Ubuntu gibt es z.B.

    Code
    1. libcurl4-gnutls-dev - Development files and documentation for libcurl (GnuTLS)
    2. libcurl4-nss-dev - Development files and documentation for libcurl (NSS)
    3. libcurl4-openssl-dev - Development files and documentation for libcurl (OpenSSL)


    die sicherlich ihr Berechtigung haben, sich aber gegenseitig ausschließen (zumindest beim Übersetzen, die libs selber kann man natürlich parallel installieren).
    Frag mich nicht nach den genauen Unterschieden, damit will ich mich gar nicht erst befassen. :)


    Lars.

  • Und das ist auch gut so.
    Vermutlich gehen alle irgendwie, als Distributor muss man nur darauf achten, dass ggf. alle Plugins die gleiche Variante nutzen, um möglichen Problemen aus dem Weg zu gehen. :)


    Lars.

  • Installiert ist libcurl4-openssl-dev.


    Code
    1. root@vdr-pi:~# apt-get install libcurl4-openssl-dev
    2. Paketlisten werden gelesen... Fertig
    3. Abhängigkeitsbaum wird aufgebaut.
    4. Statusinformationen werden eingelesen.... Fertig
    5. libcurl4-openssl-dev ist schon die neueste Version.


    Die anderen beiden CURL-Pakete sind nicht installiert und würden dann auch das oben genannte rauswerfen:


    Also eigentlich hätte ich dann das richtige Paket - fragt sich nur, warum es trotzdem nicht klappt.


    wolfi.m : Kannst Du noch kurz erklären, wo Du die Abhängigkeiten her hast? Falls ich mal wieder so einen Fall habe, kann ich mir dann weiterhelfen.


    Mister.Spliss

  • Ok, ich hab jetzt mal alle gelisteten curl-libs an den letzten Make-Befehl angehängt.
    Und siehe da ... alle Fehler verschwinden.
    Ich hatte zunächst nur -lssl hinzugefügt, aber dann hat er nach ldap geschrien ... also hab ich nicht einzeln weiter probiert, sondern alle genommen.


    Sieht dann so aus:

    Code
    1. g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -shared skindesigner.o config.o setup.o designer.o displaychannel.o displaymenu.o displaymessage.o displayreplay.o displaytracks.o displayvolume.o displayplugin.o libcore/cairoimage.o libcore/curlfuncs.o libcore/pixmapcontainer.o libcore/fontmanager.o libcore/imagecache.o libcore/helpers.o libcore/imageloader.o libcore/libxmlwrapper.o libcore/recfolderinfo.o libcore/skinsetup.o libcore/skinrepo.o libcore/extrecinfo.o libcore/timers.o libtemplate/globals.o libtemplate/parameter.o libtemplate/template.o libtemplate/templateview.o libtemplate/templateviewelement.o libtemplate/templateviewlist.o libtemplate/templateviewgrid.o libtemplate/templatepixmap.o libtemplate/templateviewtab.o libtemplate/templatefunction.o libtemplate/templateloopfunction.o libtemplate/xmlparser.o views/animation.o views/view.o views/viewgrid.o views/viewhelpers.o views/displayviewelements.o views/displaychannelview.o views/displaymenurootview.o views/displaymenuview.o views/displaymenulistview.o views/displaymenuitemview.o views/displaymenuitemcurrentview.o views/displaymenudetailview.o views/displaymenutabview.o views/displaymessageview.o views/displayreplayview.o views/displayreplayonpauseview.o views/displayvolumeview.o views/displayaudiotracksview.o views/displaypluginview.o -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lcairo -lpng12 -ljpeg -L/usr/lib -lxml2 -L/usr/local/lib -lcurl libskindesignerapi/libskindesignerapi.so.0.0.2 -o libvdr-skindesigner.so -lcurl -lidn -lrtmp -lssh2 -lssl -lcrypto -lssl -lcrypto -llber -lldap -lz -lrt


    Jetzt muss ich mal weitersehen...
    Skindesigner wird schon mal geladen... jetzt fehlt mir noch eine passende Plex-Skin.


    Danke für die Hilfe.


    Gruß
    Mister.Spliss

  • Moin,


    hm, das Problem bei dir liegt dann wohl eher bei pkgconfig...was spuckt denn


    Code
    1. pkg-config --libs libcurl


    auf der Kommandozeile aus? Eigentlich sollte das dann genügen...


    Ciao Louis

  • Hm...bei mir kommt nur


    Code
    1. maschine skindesigner # pkg-config --libs libcurl
    2. -lcurl


    Ggf. stört das "-L/usr/local/lib"?! Kann aber irgendwie nicht sein...


    Ciao Louis