Neues Makfile und Paktetbau. Grundsätzliche Frage(n).

  • Hallo


    Hab mich ein wenig mit dem neuen Makfilesystem herumschlagen und habe beim Bau von Plugins immer wieder Probleme.
    Mal zur Ausgangssituation.
    Make.config


    vdr.pc


    Fehlt da nicht irgendwo ein -I/usr/include/vdr ?


    hier noch ls -l /usr/include/vdr


    Bauen tut grundsätzlich alles und das installieren klappt auch aber immer wieder hab ich Probleme mit Plugins das der vdr beim Aufruf jener abschmiert.
    Baue ich die Plugins mit dem alten Makefile und alten rules klappts.
    Was habe ich übersehen?

  • Nein, das fehlt nicht. /usr/include sowie /usr/local/include werden immer genommen, wenn global included wird. also mit "<" ">". Welches Plugin macht denn speziell Probleme, vielleicht kann ich dir ja weiterhelfen.


    Was genau tippst du in die Konsole? Bist du dir bewusst, dass die neuen Makefiles erst etwas am Dateisystem ändern, wenn du "make install" aufrufst?

  • Da es hier um Debian Packete geht... Lade mal dein vdr-dev*.deb hoch, dann kann man mal reinschauen ob das grundsätzlich ok ist.


    Falls du lokal baust (also in deinem realen Dateisystem) wäre auch wichtig das keine Experimente in /usr/local vergessen rumliegen, ne vergessene vdr.pc in /usr/local/lib... kann seltsame Seiteneffekte bringen ;)


    cu

  • Nein, das fehlt nicht. /usr/include sowie /usr/local/include werden immer genommen, wenn global included wird. also mit "<" ">". Welches Plugin macht denn speziell Probleme, vielleicht kann ich dir ja weiterhelfen.


    Ich habe zum Beispiel mit skinnopacity oder auch epgsearch probleme.
    hier mal Auszug beim Bauen von skinnopacity


    Fehler findest du hier

    Was genau tippst du in die Konsole? Bist du dir bewusst, dass die neuen Makefiles erst etwas am Dateisystem ändern, wenn du "make install" aufrufst?


    Ja ist mir klar. Installiert wird ja alles aber öfters habe undefined symbols etc.

  • Fehlt da nicht nen "-L/usr/lib" beim Linkeraufruf?


    Was sagt denn?
    ---
    ldd /usr/lib/vdr/plugins/libvdr-skinnopacity.so.1.7.38
    ---


    cu

  • Ich sehe schon... Debian. Ich bin zwar kein besonderer Freund von Debian, aber ich kann in dem ganze Wirrwarr auch keinen Fehler entdecken.


    Ich kompiliere skinnopacity für vdr4arch und bei mir läuft alles sauber durch. Schon mal versucht ohne das ganze Debianzeug zu kompilieren?
    Du könntest auch das include in die vdr.pc testweise hinzufügen. Wie ich aber Zeile 4 entnehmen kann, wird /usr/include/vdr schon eingebunden.


    Vielleicht haben die Jungs von yaVDR eine Idee. Ich schiebe es jetzt einfach mal auf das Buildsystem, falsche Bedienung des selbigen, oder irgendwelchen alten Datenmüll auf der Festplatte.

  • Fehlt da nicht nen "-L/usr/lib" beim Linkeraufruf?


    Was sagt denn?
    ---
    ldd /usr/lib/vdr/plugins/libvdr-skinnopacity.so.1.7.38
    ---


    cu


    Das hier

  • Ich kompiliere skinnopacity für vdr4arch und bei mir läuft alles sauber durch. Schon mal versucht ohne das ganze Debianzeug zu kompilieren?
    Du könntest auch das include in die vdr.pc testweise hinzufügen. Wie ich aber Zeile 4 entnehmen kann, wird /usr/include/vdr schon eingebunden.


    Ne das war nur ein Versuch von mir habe ich in das Makefile von skinnopacity hinzugefügt.
    Das komische ist einfach mit altem Makefile baut das Zeug. Beim Setup-plugin wars das selbe. Hab das Makefile angepasst und sobald ich das zum Menüeintrag des setup-plugins gekommen bin hat es gekracht.


    Siehe mal hier


    EDIT: Die letzte Zeile des Backtraces ist im Prinzip gleich wenn ich skinnopacity aufrufe.

  • Tja, dann antworte doch mal auf Posting 3 und lade deine deb mal irgendwo hoch.


    cu

  • Ich verstehe nicht warum ihr da so ein Problem draus macht. Copperhead: Die Polemik gegen Debian ist unnötig. Die paar Debian spezifischen Zeilen kann man ja wohl mental ausblenden und die sind ganz sicher nicht Ursache des Problems.
    @avjui: Nicht das Makefile oder das Debian-Wirrwarr bauen das Plugin, sondern ein paar Compiler-Aufrufe und ein Linker-Aufruf. Wenn es mit dem alten Makefile geht und mit dem neuen nicht, dann werden Compiler/Linker unterschiedlich aufgerufen. Vergleich doch einfach mal nur diese Compiler/Linker-Aufrufe der beiden Makefiles. Irgendeiner dieser Unterschiede muss das Problem sein.


    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

  • Hier mal die deb.


    Und ja die Header ligen unter /usr/include/vdr/


    Tja, dann antworte doch mal auf Posting 3 und lade deine deb mal irgendwo hoch.


    cu


    Hatte ich anfänglich aber habe alles andre gelöscht passt jetzt auch wenn ich pkg-cfg vdr --varaible= per Konsole eingebe überein.

  • Ich verstehe nicht warum ihr da so ein Problem draus macht. Copperhead: Die Polemik gegen Debian ist unnötig. Die paar Debian spezifischen Zeilen kann man ja wohl mental ausblenden und die sind ganz sicher nicht Ursache des Problems.
    @avjui: Nicht das Makefile oder das Debian-Wirrwarr bauen das Plugin, sondern ein paar Compiler-Aufrufe und ein Linker-Aufruf. Wenn es mit dem alten Makefile geht und mit dem neuen nicht, dann werden Compiler/Linker unterschiedlich aufgerufen. Vergleich doch einfach mal nur diese Compiler/Linker-Aufrufe der beiden Makefiles. Irgendeiner dieser Unterschiede muss das Problem sein.


    Gerald


    Hier mal mit altem Makefile ist zwar Version 0.3 aber die läuft wenn ich sei installiere


    oben sieht man ja was der unterschied mit dem neuen Makefile.

  • Dann lass doch mal die Flags im neuen weg "-DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16", das alte hast du ja auch ohne gebaut.


    Und zeige mal das deb vom Plugin.


    cu

  • auf das ich schellte bekomme :)



    Stickwort -DUSE..... in deinen header Dateien

    ------
    Hardware: ASUS E35M1-I Deluxe, 4GB RAM, ATI on Board (fuer Kodi), TT S2-6400 FF, Samsung 500GB 2,5"
    VDR: MLD5

  • Du meinst er braucht "-DUSE_GRAPHTFT -DUSE_VASARAJANAULOJA -DUSE_MAINMENUHOOKS -DUSE_PLUGINMISSING -DUSE_SETUP -DUSE_WAREAGLEICON"?
    So wie ich das sehe nutzt das Plugin keines davon.


    Wobei das dann auch ein Fehler im Patch wäre, der MAINMENUHOOKS Patch musste "#define USE_MAINMENUHOOKS" im Quellcode setzen.


    cu

  • Ahhhhghhhh, das greift ja auch auf die Header. D.h. ohne diese -DUSE verändert sich die API...


    Ok, danke fürs draufstossen :)



    Aber dann sind die Patches im VDR Paket fehlerhaft, weil sie müssten "#define USE_*" im VDR Quellcode setzen damit so was gar nicht erst vorkommt.
    Und die "#ifdef USE_*" die die Patches umschliessen müssen weg. Weil wenn man nen Patch anwendet dann will man ihn auch nutzen.


    Scheint so als wäre hier ein Multipatch drin (der im Debian Packet eigentlich nix zu suchen hat), dann müssten die "-DUSE_*" in die Make.config UND in die PLGCFG.


    cu

  • Früher ... Wie war das schön :)


    Die Defines wurden bis dato immer in der Make.config gepflegt, welche aber mit den neuen Makefiles nicht mehr eingelesen wird (-include ....)


    Wenn ich es richtig verstanden habe ließt das neue Makefile nur noch die vdr.pc wo leider ohne den Patch oben die Defines zu den Patchen fehlt ....

    ------
    Hardware: ASUS E35M1-I Deluxe, 4GB RAM, ATI on Board (fuer Kodi), TT S2-6400 FF, Samsung 500GB 2,5"
    VDR: MLD5

Jetzt mitmachen!

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