[Announce] libSkindesignerAPI

  • Ich nutze auch LCLBLD und habs zum Laufen bekommen, ohne das Makefile anzupassen.
    Aber so wie bereits geschrieben fehlt das "make install", das hab ich manuell im entsprechenden Verzeichnis gemacht.
    Die Plugins selbst bauen auch so, nur der VDR selbst startet dann nicht ohne das vorherige manuelle "make install".

    Gruss Björn.


    SilverGreen-Skin

  • Ja, das liegt an der dann nicht erreichbaren libskindesignerapi.so, aber das kriegen wir auch noch hin. Wenn es dann funktioniert, solltest du die installierte lib wieder deinstallieren.
    Ich sag bescheid, wenn ich was hab.


    Lars.

  • Hallo Louis,

    hast du denn die aktuelle Version am laufen?

    Ja.


    Hast du dazu das Makefile bzw. die Makefiles geändert?

    Nein, ich habe nur eine für mich passende Make.config des vdr.


    Bist du auch so einer, der kein "make install" macht?

    Das wäre dann selbst für meine Verhältnisse zu 'rustikal' ;) Dann müsste ich ja mit der Sackkarre nacharbeiten ;)


    Gruß,
    Tomas

  • LCLBLD ist aber dafür gedacht, kein "make install" zu machen. Das sollte man nur benutzen, wenn man den vdr aus dem Sourcetree heraus laufen lassen möchte.
    http://projects.vdr-developer.…vdr.git/tree/INSTALL#n358


    Wenn man sowieso ein "make install" machen möchte, braucht man kein LCLBLD. Denn dann werden ja die Verzeichnisse auf Werte festgelegt, mit denen ein installierter vdr nicht anfangen kann.
    http://projects.vdr-developer.…/Make.config.template#n47


    Lars.

  • LCLBLD ist aber dafür gedacht, kein "make install" zu machen. Das sollte man nur benutzen, wenn man den vdr aus dem Sourcetree heraus laufen lassen möchte.

    Genau das mache ich doch! Zusätzlich noch ONEDIR=1 und ich kann mehrere Versionsstände mit unterschiedlichen Konfigurationsverzeichnissen testen.


    Das 'make install' dient mir ja nur dazu z.B. die neuesten skindesignerskins ins Zielverzeichnis kopieren zu lassen....


    Gruß,
    Tomas

  • LCLBLD hat ja mehrere Probleme.
    ...
    Das einzige, was libskindesignerapi bei LCLBLD machen müsste, wäre, direkt nach dem Bau einen Symlink libskindesignerapi.so auf libskindesignerapi.so.VERSION anzulegen, da der Linker ja nur nach .so-Dateien schaut. Der Link darf aber auch nur bei LCLBLD angelegt werden.


    Ich hab heute Abend etwas Zeit, da kann ich das mal probieren.


    Lars.


    hört sich gut an, dann muss kann ich den Workaround aus meiner rpm spec-Datei entfernen.
    Hier mal die basierende rpm.spec Datei vdr-skindesigner.txt

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • LCLBLD ist aber nichts für den Paketbau. Zumindest unter Debian ist das dev-Paket für den so-Link verantwortlich.


    Hintergrund:
    Eine shared lib ist durch ihre SO/Major-Version festgelegt. Ändert sich die ABI einer lib (nur, wenn ein vorhandenes Interface geändert wird, nicht, wenn neue dazukommen), muss sie die Major Version hochzählen. Trotzdem ist es möglich, eine ältere Version parallel installiert zu haben.
    Installiert werden die libs mit angehängter vollständiger Version und ein Link mit der Major-Version auf die volle Version.


    Das dev(el)-Paket bringt die Header mit. Und da der Linker nur nach einer so-Datei sucht, muss das dev(el)-Paket den so-Link auf die richtige volle Version setzen. Denn von dem dev(el)-Paket kann im Normalfall immer nur eine Version installiert sein, da die Header der verschiedenen Major-Versionen meistens an der gleichen Stelle liegen.


    Deshalb bringt das Debian-Paket diesen Symlink mit, der wird nicht vom Makefile erzeugt.
    https://github.com/flensrocker…skindesignerapi-dev.links


    Oder hab ich dich falsch verstanden?


    Lars.

  • Ich nutze auch LCLBLD und habs zum Laufen bekommen, ohne das Makefile anzupassen.
    Aber so wie bereits geschrieben fehlt das "make install", das hab ich manuell im entsprechenden Verzeichnis gemacht.


    Hab ich auch so gemacht, .... make install im ./PLUGIN/src/libSkindesignerAPI, ....läuft :)


    Grüße, Peter

    KODI, tvh, arch x86_64, Octopus net 2 x Duoflex C/C2/T2 , NUC7i3BNH, Crucial MX300 2TB, LG LM 669S

    Linux is the best OS I have ever seen -- Albert Einstein

  • Hier mal was zum Probieren für LCLBLD. Ich gehe mal davon aus, dass ihr dann auf alle Fälle eine Make.config im vdr-Verzeichnis benutzt? Sonst funktioniert LCLBLD eh' nicht richtig...


    skindesigner:


    weatherforecast:


    Der erste hunk beim skindesigner ist unabhängig von LCLBLD. APIVERSION wird schon im vdr definiert, deshalb sollte die lib einen eigenen define dafür benutzen.


    Um den vdr dann zu starten, müsst ihr den LD_LIBRARY_PATH entsprechend setzen:

    Code
    LD_LIBRARY_PATH=PLUGINS/src/skindesigner/libskindesignerapi ./vdr ...


    Lars

  • Moin,


    da hier keine Einsprüche kamen, habe ich die Änderungen mal im skindesigner 0.4.3, tvguideng 0.1.2 und weatherforecast 0.1.1 eingebaut.


    Ich hoffe damit ist das Thema erledigt...danke nochmal an Lars ;)


    Ciao Louis

Jetzt mitmachen!

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