neuste Kodiversion wird nicht angezeigt

  • ...so, ich habe mal Versucht Kodi in Ubuntu nach der Anleitung zu kompilieren. Leider nur schaffe ich nur 50% dann bricht er ab mit 2 Fehlern.

    hier die Ausgabe von cmake:

    das Ende vom Build:

    Code
    /usr/bin/ranlib settings.a
    gmake[2]: Verzeichnis „/home/frank/kodi-build“ wird verlassen
    [ 50%] Built target settings
    gmake[1]: Verzeichnis „/home/frank/kodi-build“ wird verlassen
    gmake: *** [Makefile:146: all] Fehler 2

    Falls einer eine Idee hat, bzw. eine Logfile benötigt, ich bin für jede Hilfe dankbar...

  • Welchen Branch baust du?

    Irgendwann gibst du diesen Befehl ein um das kompilieren zu starten, oder:

    cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)

    Wenn dann der Fehler kommt, dann gib mal folgendes ein:

    cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN) | nc termbin.com 9999

    Das gibt dir nachher eine URL und eine Ausgabe auf der Kommandozeile. Beides bräuchte ich.

    Alternativ kannst du auch:

    cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN) 2>&1 err.txt

    machen und dann die err.txt hier hoch laden.

    Bist du sicher, dass du für Wayland bauen musst? Das kann schon sehr gut sein. Ich möchte nur wissen, ob du dir sicher bist. Ich nutze unter Fedora noch X11. Daher die Frage

    Die Frage nach dem Branch rührt daher, da der Fehler, den du gezeigt auch wirklich ein Fehler im Code sein kann, der aus versehen gemerged wurde.

  • mein grober Senf dazu:

    - kläre die "Could NOT find" (?!)

    - ich kompiliere meine Kernels hier immer mit "-mtune=native" und "-march=native" (siehe: Zeile 50 in deinem CMakeOutput.log)

    x86 Options (Using the GNU Compiler Collection (GCC))

    ‘native’

    This selects the CPU to generate code for at compilation time by determining the processor type of the compiling machine. Using -march=native enables all instruction subsets supported by the local machine (hence the result might not run on different machines). Using -mtune=native produces code optimized for the local machine under the constraints of the selected instruction set.

    Schätze: Das lässt sich in einem globalem makefile ändern ...


    Soundcheck, welche CPU Flags dann aktiv sind mit:

    gcc -march=native -E -v - </dev/null 2>&1 | grep cc1

  • Die "could not find" sind nicht so wichtig


    libcec ist selbsterklärend für CEC. Wenn er das nicht hat, dann braucht er es auch nicht.

    Pipewire könnte sein...Wird er merken, wenn er keinen Ton hat ;)

    MDNS ist vielleicht interessant, aber fürs eigentliche bauen auch erstmal nicht relevant, schätze ich.


    Wir bauen hier ja auch keinen Kernel sondern Kodi ;) und grundlegend funktionieren die Anleitungen für Kodi schon gut. Da muss erstmal nichts an makefiles geändert werden.

  • Welchen Branch baust du?

    Code
    git clone https://github.com/xbmc/xbmc kodi

    libcec ist selbsterklärend für CEC. Wenn er das nicht hat, dann braucht er es auch nicht.

    Pipewire könnte sein...Wird er merken, wenn er keinen Ton hat

    Ich habe versucht das zu installieren, leider habe ich nicht die passenden Pakete dazu gefunden. Installiert sind:

    libcec : (libcec-dev 6.0.2-1ubuntu2, libcec6 6.0.2-1ubuntu2)

    Pipewire: pipewire 0.3.48-1ubuntu3 (leider wird mir keine höhere Version angezeigt)

    Das gibt dir nachher eine URL und eine Ausgabe auf der Kommandozeile. Beides bräuchte ich.

    siehe Anhang. (https://termbin.com/4bym)

    Bist du sicher, dass du für Wayland bauen musst?

    Zumindest steht das so unter Einstellungen / Info (Ubuntu 22.04.4 LTS, 64bit, GNOME 42.9, Fenstermanager Wayland)

  • Der Link zu Github hilft da nicht. ;)

    Geh mal in das geclonte Verzeichnis und gib dort mal "git branch -v" ein und poste mal die Ausgabe.

    Ich vermute, dass du "master" baust. Das wäre dann komplett bleeding edge. Also irgendwas Kodi 21 Alpha und nicht stabil.

    Möchtest du Kodi 20.5 bauen, dann musst du den entsprechenden Branch auschecken. Wie gut kennst du dich mit "Git" aus?

    Ich hoffe das verschreckt dich jetzt nicht zu sehr. Das klingt erstmal vielleicht alles kompliziert. Wenn du es aber einmal verstanden hast, dann ist es easy ;)

    Konsole und den Paste schaue ich morgen an ;)

  • Der Link zu Github hilft da nicht. ;)

    Ich vermute, dass du "master" baust.

    Ja, das war es. Ich hatte angenommen das der master die aktuelle Version ist. Also mit "Nexus" ging es dann. :thumbup: Zumindest konnte ich das Build starten [ag]. Den Rest (addons) teste ich später mal.

    Wie kann ich das Problem mit libcec und pipewire lösen?

  • Brauchst du denn CEC? Kann dir Hardware das? Hast du Ton?

    Wenn die Antworten folgende Kombi haben

    • Nein, Ja, Ja
    • Nein, Nein, Ja

    Dann musst du nichts mehr machen.

    Bei allen anderen einfach mal nach libcec und/oder nach Pipewire mit "apt search" suchen.

  • Brauchst du denn CEC? Kann dir Hardware das? Hast du Ton?

    Keine Ahnung, Keine Ahnung, nein geht nicht (konnte ich noch nicht richtig testen, ich nutze ALSA Passthrough)

    Jetzt mal mehr im Allgemeinen, auch wenn ich Kodi mir selbst kompiliere möchte ich dennoch ein Build haben was dem offiziellen entspricht, also mit allem was auch dort drin ist. Sowas muss doch ohne großen Aufwand möglich sein.

    Inzwischen habe ich es auch mal auf meinen Multimedia-Pc probiert. Zumindest startet es und zeigt mir meine Daten an (Alsa muss ich noch testen). Das Kompilieren dauerte schon etwas länger als auf meinen PC, ist aber noch im Rahmen des erträglichen. Hier habe ich in der Vorbereitung auch einen Fehler, wo ich nicht weiß ob der für mich relevant ist. Beim kompilieren der Waylandprotokolls (sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local) bricht er ab mit -vif nicht gefunden (oder ähnlich).

    Eine weitere offene Frage muss ich eigentlich die addons noch kompilieren oder verwendet er die bisher genutzten?

    Einmal editiert, zuletzt von SirBoss (20. März 2024 um 23:51) aus folgendem Grund: einige Ergänzungen

  • ...hier noch ein kleines Update. Es scheint doch alles zu funktionieren [ag](es gab Probleme beim Umschalten zwischen Ton vom Fernseher und Soundanlage). Ich musste noch das "inputstream.adaptiv" Addon kompilieren, da das nach der Installation als fehlend angezeigt wurde.

    Also im großen und ganzen ist der Aufwand recht übersichtlich. Offen bleibt noch der Fehler bei den "wayland-protocols". Keine Ahnung, ob das genutzt wird bzw. eine negative Auswirkung beim fertigen Programm hat.

  • ...so hier noch ein weiteres Update zum Ton. Leider geht es doch nicht so wie gewünscht bzw. gewohnt. Ich konnte zwischen den Ton vom Fernseher und der Soundanlage ohne Probleme wechseln. Die Einstellungen werden dabei beibehalten. Aktuell muss ich jedes mal wenn ich Tonquelle ändere (auch Fernseher an/aus) Kodi neu starten und neu einstellen X(. Im Normalfall ist meine Tonquelle HDMI 0. Beim Wechsel ist diese Quelle dann verschwunden. Ich habe hier mal 2 Logfiles angehangen, vielleicht kann mir einer einen Tip geben was die Ursache hierfür ist.

  • Jetzt mal mehr im Allgemeinen, auch wenn ich Kodi mir selbst kompiliere möchte ich dennoch ein Build haben was dem offiziellen entspricht, also mit allem was auch dort drin ist. Sowas muss doch ohne großen Aufwand möglich sein.

    Ist es auch. Nennt sich "Flatpak". Ein Paket aus dem PPA wird es in absehbarer Zeit nicht geben. Und wenn du alle Dinge sauber installiert hast, dann ist das selbst kompilierte auch gleichbedeutend dem, was du "offiziell" nennst. Flatpak hat seine eigenen kleinen Schwierigkeiten und bevor ich (und ich spreche da wirklch nur von mir) Flatpak benutze, versuche ich eher die Software selbst zu bauen und das dann richtig zu machen

    Beim kompilieren der Waylandprotokolls (sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local) bricht er ab mit -vif nicht gefunden (oder ähnlich).

    "Oder so ähnlich" hilft uns nicht.

    "Mein Auto ist kaputt"

    "Was für eines ist es"

    "BMW oder so ähnlich"

    Du verstehst das Prinzip? ;) Entweder du sagst uns immer die genaue Fehlermeldung oder wir können dir nicht helfen. Klingt hart, aber so ist es leider.

    Eine weitere offene Frage muss ich eigentlich die addons noch kompilieren oder verwendet er die bisher genutzten?

    Ein ganz klares "Ja" auf eine "oder"-Frage :D

    Es müssen nur Binary-Addons kompiliert werden. Diese werden/wuden bei Ubuntu auch über das Kodi PPA bereit gestellt. Solltest du immer noch die gleiche Kodi-Version verwenden und vorher die Addons aus dem PPA installiert haben, kannst du die weiter verwenden. In einer späteren Kodi Version und wenn die Addons nicht mehr kompatibel zur neueren Kodi-Version sind, wirst du auch diese Addons kompilieren müssen.

    Die Addons die aus dem Kodi-Addon-Repository kommen, kannst du ganz normal über Kodi und seinen Add-on-Bereich installieren.

    Zu den Binary-Addons gehören z. B. die PVR Addons.

    Pipewire: pipewire 0.3.48-1ubuntu3 (leider wird mir keine höhere Version angezeigt)

    Ubuntu – Ergebnisse der Paketsuche -- pipewire

    Du wirst mindestens Ubuntu 23.10 installieren müssen um Pipewire >0.3.50 zu bekommen. Ich würde aber nochmal schauen, ob der Kodi 20-Branch wirklich mindestens 0.3.50 braucht. Wenn ja, dann würde ich Pipewire einfach selbst bauen. Oder auch einfach auf Ubuntu 24.04 warten. Das kommt bald und ist dann auch wieder eine LTS-Version.

    Abgesehen davon ist für den Nexus-Branch nur "Pipewire" erforderlich. Da gibt es keine Mindestversion.

    Siehe:

    Master (pipewire>=0.3.50): https://github.com/xbmc/xbmc/blob/master/CMakeLists.txt#L243

    Nexus (pipewire): https://github.com/xbmc/xbmc/blob/Nexus/CMakeLists.txt#L202

    Somit sollte das Pipewire-Problem keines mehr sein, wenn du nicht unbedingt Master installieren möchtest.

    Und ja....ohne aktiviertes Debugging wird es schwer zu helfen. Ich vermute aber, dass uns das Log da auch gar nicht weiter helfen wird. Ich denke, dass das ein Problem ist, welches ggf. auf Betriebssystem-Ebene gelöst werden muss. Ich schaue mal, ob ich was finde und melde mich dann wieder.

  • "Oder so ähnlich" hilft uns nicht.

    Code
    sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local
    make: Verzeichnis „/home/frank/kodi/tools/depends/target/wayland-protocols“ wird betreten
    cd /home/frank/kodi/tools/depends; curl -Ls --create-dirs -f -O  http://mirrors.kodi.tv/build-deps/sources/wayland-protocols-1.20.tar.gz
    rm -rf native/*; mkdir -p native
    cd native; tar --strip-components=1 -xf  /home/frank/kodi/tools/depends/wayland-protocols-1.20.tar.gz
    cd native;  -vif
    /bin/sh: 1: -vif: not found
    make: *** [Makefile:39: native] Fehler 127
    make: Verzeichnis „/home/frank/kodi/tools/depends/target/wayland-protocols“ wird verlassen

    -vif nicht gefunden trifft es doch ganz gut 8) (Ich hatte das nur frei aus dem Gedächtnis zitiert, da ich gerade nicht an dem Rechner war)

    Ich würde aber nochmal schauen, ob der Kodi 20-Branch wirklich mindestens 0.3.50 braucht.

    der Fehler ist scheinbar weg... (ich habe mal die Ausgabe von cmake angehangen)

    im Anhang habe ich die Logfiles mit Debugmodus (einmal Kodi 20.2 und das selbstkompilierte Kodi 20.5) mit An- und Ausschalten der Soundanlage.

    Und wenn du alle Dinge sauber installiert hast, dann ist das selbst kompilierte auch gleichbedeutend dem, was du "offiziell" nennst.

    Ja, an der Stelle hätte ich mir eine Scriptdatei gewünscht, wo die vielen Einzelschritte und notwendigen Pakete automatisch installiert & ausgeführt werden, so das ich auf ein bitgleiches Build komme. Ist halt nur ein Wunsch und wahrscheinlich nicht so umzusetzen.

    Es müssen nur Binary-Addons kompiliert werden. Diese werden/wuden bei Ubuntu auch über das Kodi PPA bereit gestellt. Solltest du immer noch die gleiche Kodi-Version verwenden und vorher die Addons aus dem PPA installiert haben, kannst du die weiter verwenden.

    Das mit den Binary war mir auch klar. Ich hatte ja aus dem PPA das Inputstream-Addon installiert gehabt. Nachdem ich, nach dem kompilieren, dann mit make das neue Kodi installiert hatte konnte er dieses Addon nicht finden (obwohl es noch installiert war, deshalb die Frage). Ich habe dann einfach das Addon noch kompiliert und danach ging es (was natürlich deiner Aussage Widerspricht).

  • Das stimmt. Das widerspricht meiner Aussage. Da lag ich dann wohl falsch ;)

    Kann gut sein, dass ein kompiliertes Kodi einen anderen Installationspfad für Binary Addons erwartet als ein Kodi aus dem PPA installiert

    Sorry dafür


    Wo hast du den Befehl mit dem "-vif" her? Da stimmt was nicht. Da fehlt der eigentliche Befehl vor den Optionen. Das Semikolon trennt 2 Befehle voneinander.

  • Wo hast du den Befehl mit dem "-vif" her?

    Das ist offenbar kein Befehl den SirBoss eingegeben hat, sondern ein Befehl, den das make-Tool selbst startet, entsprechend vorhandener makefiles/configs - jedenfalls wenn da nicht parallel was anderes auf die Konsole schreibt. Vielleicht verstehe ich da was nicht richtig - aber da es hier um den Master-Branch von Kodi geht, könnten sich da schon ein Fehler in das Build-System eingeschlichen haben? Und Test mit Nexus könnte Abhilfe schaffen.

    Habe selbst Kodi schon oft unter Ubuntu kompiliert - aber leider nicht mehr aktuell, und da auch das ganze Build-System nicht vollständig verstanden, bzw. finde ich die Doku da auch nicht eindeutig. Der make-Befehl, der auf Fehler läuft steht im Abschnitt: "Build missing dependencies - Some packages may be missing or outdated in older distributions." Ich erkenne allerdings nicht auf Anhieb, wie man feststellen kann, ob das "may" jetzt zutrifft und ob man die "missing dependency" nun wirklich braucht oder nicht, bzw. wie man feststellt, ob man es braucht. Ich würde mal mutig probieren weiterzumachen in der Build-Anleitung.

    Habe mir das Makefile von wayland-protocols mal angesehen. Da finde ich kein -vif. Das steht (an der Stelle, wo du auf den Fehler läufst(

    Code
    [...]
    cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
    cd $(PLATFORM); rm -rf build; mkdir -p build

    Die erste Zeile übersetzt sich in cd native; tar --strip-components=1 -xf /home/frank/kodi/tools/depends/wayland-protocols-1.20.tar.gz bei dir, sieht erst mal gut aus. Rätselhaft wo da das -vif herkommt. Vielleicht kannst du dir mal die Ausgabe von sudo make -n -C tools/depends/target/wayland-protocols PREFIX=/usr/local ansehen. Ungetestet. Sollte nichts machen, aber die Befehle ausgeben, die make absetzt. Kommt da das -vif vor?

    Kodi 21.1, 17.6, 21.1, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

  • Wo hast du den Befehl mit dem "-vif" her?

    Ich habe laut Webseite das folgende ausgeführt:

    Code
    Build and install wayland-protocols:
    
    sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local

    Wenn man sich dann die make-File anschaut steht das mit dem -vif auch so drin:

    aber da es hier um den Master-Branch von Kodi geht

    Nein, das war nur ein Missverständnis, es geht hier um den Nexus-Branch Kodi 20.5 und da steht das halt drin....

  • Wenn man sich dann die make-File anschaut steht das mit dem -vif auch so drin:

    Nein, tut es nicht ;) . Wenn man es genau nimmt, dann steht da:

    cd $(PLATFORM); $(AUTORECONF) -vif

    und das $(AUTORECONF) wäre eine Form von Befehl, der vor den Optionen ausgeführt werden müsste. Der Teil scheint aber leer zu sein oder zumindest bekommt das makefile an der Stelle nicht die entsprechenden Informationen um das aufzulösen weswegen du nur -vif ausführst und das kennt die Befehlszeile natürlich nicht.

    Im Endeffekt machst du nichts falsch. Ich halte das ggf. für einen Bug im Makefile, werde mir das aber nochmal genauer anschauen.

Jetzt mitmachen!

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