[Announce] VDR developer version 1.7.35

  • Na dann mach doch einfach mal nen Thread auf wo du die nochmal postest.
    Wenn dann jemand Korekturen hat oder weitere posten will dann ist das allles schön übersichtlich zusammen.

    Nachdem die vorgestellte Lösung nach etlichen Tagen endlich korrekt kompiliert hat und die Installation auch schön klappt, habe ich bislang (noch) nicht auf eurem letzten Stand aufgesetzt. Ich bin erst einmal froh, dass ich seitdem wieder "arbeitsfähig" bin... :]


    Mit dem Posting sollte ich deshalb vielleicht besser noch warten, bis klar ist, dass die aktualisierten Makefiles mit Klaus' nächster Version noch zusammenspielen... oder?


    Grüße
    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.5 und VDR 2.6.7 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Ich habe mir mal auf die Schnelle den 23er Patch angeschaut. Dabei wundert mich, dass in Make.config.template die Variablen "LOCDIR" und "LIBDIR" für Non-local Build nicht definiert, in den Plugin-Makefiles aber benutzt werden. Damit greift immer die Default-Definition von Makefile, die auf ein festes Verzeichnis verweist. Dort zu ändern ist aber eigentlich nicht gewünscht – wofür hätten wir sonst Make.config? Ich fände es deshalb wünschenswert, wenn "LOCDIR" und "LIBDIR" im Template unter den "Other directories" nochmals referenziert würden.


    Desgleichen sollten die unter "ONEDIR" gelisteten Verzeichnisse der Vollständigkeit halber ebenfalls unter "Other directories" aufgeführt werden, denn sonst greifen wieder die Defaults im Makefile und führen ggfs. zu bösen Überraschungen. Denn gebraucht werden die doch alle für die Definition der Defaultwerte (-D...) bei der Kompilierung der Plugins, oder etwa nicht?


    Auch fände ich es gut, "PLGCFG" am Ende des Other-directory-Abschnitts zu setzen, weil man dort dann "PREFIX" nutzen könnte, um die Variable zu definieren.


    Hier die Gedanken als Patch gegen das originale Make.config.template von 1.7.35:



    Zudem kann ich bei näherer Überlegung den Nutzen der Schalter "ONEDIR" und "LCLBLD" nicht wirklich erkennen: Denn ich kann mich doch keinesfalls auf deren Defaulteinstellungen verlassen, sondern muss das Template (dessen Variablen) sowieso nach meinen eigenen Bedürfnissen anpassen. Und wenn solche Schalter als sinnvoll erachtet werden, dann sollten jeweils vollständige Variablensätze definiert werden, wenn eine Option greift (was im obigen Diff noch fehlt). Die jetzige Lösung finde ich jedenfalls ein wenig verwirrend – was auch der fortgeschrittenen Zeit geschuldet sein mag... :dösen


    Oder habe ich ein grundlegendes Prinzip übersehen bzw. falsch verstanden...?


    CU Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.5 und VDR 2.6.7 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)


  • Gibts eigentlich eine Empfehlung für die richtige Verzeichnis Struktur.
    Ich selbst habe alles zum vdr immer unter /usr/local/vdr/...


    Soweit ich das überblicken kann wird nun standardmäßig in einem "Unix-Like-Schema" installiert. Also einfach ohne Make.config bauen und du solltest in Etwa erreichen was du haben willst. Das VDR-Binary landet dann unter /usr/local/bin was in den allermeisten Distributionen im PATH liegt.


  • Leider funktioniert dein Patch bei mir nicht gegen die 1.7.35.
    Kannst du den bitte nochmal gegen den Stand mit vdr-1.7.35-makefilefix23.diff machen?


    Zitat


    Zudem kann ich bei näherer Überlegung den Nutzen der Schalter "ONEDIR" und "LCLBLD" nicht wirklich erkennen: Denn ich kann mich doch keinesfalls auf deren Defaulteinstellungen verlassen, sondern muss das Template (dessen Variablen) sowieso nach meinen eigenen Bedürfnissen anpassen. Und wenn solche Schalter als sinnvoll erachtet werden, dann sollten jeweils vollständige Variablensätze definiert werden, wenn eine Option greift (was im obigen Diff noch fehlt). Die jetzige Lösung finde ich jedenfalls ein wenig verwirrend – was auch der fortgeschrittenen Zeit geschuldet sein mag... :dösen


    Oder habe ich ein grundlegendes Prinzip übersehen bzw. falsch verstanden...?


    Mit LCLBLD und ONEDIR kann man halt auf einfache Weise auf die alte Funktionsweise zurückschalten.


    Klaus

  • Daran wäre ich auch interessiert....vor allem, weil das ganze ja mal funktionierte. :tup

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Bug-Report-Update: Das alte Problem von hier, dass die Wiedergabe einer noch laufenden Aufnahme an der Stelle abbricht, an der man die Wiedergabe gestartet hat, tritt auch mit vdr-1.7.35 noch auf. Gibts dazu neue Ideen fuer einen Fix?


    Das Problem wurde eigentlich schon in der 1.7.34 gefixt.
    Bist du ganz sicher, daß das mit der aktuellen Version auftritt?


    Klaus

  • Hallo nochmals:

    Leider funktioniert dein Patch bei mir nicht gegen die 1.7.35.
    Kannst du den bitte nochmal gegen den Stand mit vdr-1.7.35-makefilefix23.diff machen?

    Wahrscheinlich habe ich mich so spät am Abend dann doch ein wenig in den diversen Verzeichnissen verstrickt. :wand


    Hier mein Vorschlag, wie ich mir (auf Basis von diffx23) Make.config.template wünschen würde:



    Des Weiteren würde ich noch empfehlen, in den Makefiles bei den impliziten Regeln die Zieldatei per "-o $@" immer explizit festzulegen. Das schadet nicht, vermeidet aber Fehler. Bei der Umstellung der Makefiles bin ich ein paar Mal ins Schleudern geraten, weil bei manchen Plugins aufgrund des Fehlens dieser Option die Objektfiles nicht an der erwarteten Stelle gelandet sind.


    Anbei das Ganze als Patch gegen vdr-1.7.35 bzw. (damit man die Unterschiede schneller sehen kann) gegen fix23. Und hoffentlich habe ich mich so spät am Abend mit den Patchfiles nicht wieder vertan... :S


    Ich habs gerade auch nochmals durchkompiliert, und mit Ausnahme des menuorg-Plugins (findet aufgrund eines fehlenden Include-Pfades ein Headerfile noch nicht) ist alles ist wie gewünscht durchgelaufen – auch aktualisierten Plugin-Makefiles (siehe Seite 12). 8)


    Grüße
    Stefan



    PS: Aus kosmetischen Gründen müsste noch die Änderung bzgl. DESTDIR nachgezogen werden, da dies ja mittlerweile erst bei der install-Anweisung vorgeschaltet wird und nicht schon bei der Definition der Zielverzeichnisse.

  • shofmann: menuorg braucht den menuorg-patch (im plugin-Verzeichnis). Evtl. fehlt der Noch bei Deinem VDR?

    Ingo, Danke für den Hinweis. Den Patch hatte ich in der Eile übersehen. Danach hat das Plugin schön durchkompiliert.


    Grüße
    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.5 und VDR 2.6.7 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Code
    ### Fallback for plugins with old makefiles:
    ifdef PLUGIN 
    CFLAGS += -fPIC 
    CXXFLAGS += -fPIC 
    endif


    Ich denke, die obigen Zeilen in Make.config.template sind verzichtbar, denn -fPIC wird im VDR-Makefile immer gesetzt. Wozu also brauchen wir sie?


    Damit könnten wir die Makefiles wie angehängt gestalten.


    Grüße
    Stefan

  • Die brauchst du dann, wenn du alte Plugins zwar im VDR-Verzeichnis platzierst, das "make" aber im Plugin-Verzeichnis ausführst. Nur über den "-include" der Make.config bekommst du dann das "-fPIC". Diese Zeilen, und etliche andere, können dann entfallen, wenn Klaus die Unterstützung der alten Makefiles entfernt.

  • Die brauchst du dann, wenn du alte Plugins zwar im VDR-Verzeichnis platzierst, das "make" aber im Plugin-Verzeichnis ausführst. Nur über den "-include" der Make.config bekommst du dann das "-fPIC". Diese Zeilen, und etliche andere, können dann entfallen, wenn Klaus die Unterstützung der alten Makefiles entfernt.

    Verstanden, die paar Zeilen stören ja auch nicht... War halt gerade bei Aufräumen... ;)


    Noch eine Frage ans Team: Sollten wir in jedem Makefile nicht auch das Makefile selbst sowie – wo referenziert – Make.config, Make.global und $(PLGCFG) als Abhängigkeit für all, install-lib und install-i18n führen?


    Ciao, Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.5 und VDR 2.6.7 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Einmal editiert, zuletzt von shofmann ()

  • Ich habe gerade festgestellt, das xineliboutput nicht gebaut wird.
    Ich habe in der Logausgabe von make folgendes gefunden:


    WARNING: plugin xineliboutput is using an old Makefile!
    Makefile:113: VDRDIR = /usr/src/vdr/vdr-git/vdr
    Makefile:114: ********************************************************
    Makefile:115: VDR source tree not detected !
    Makefile:116: VDR plugins will not be installed.
    Makefile:117: ********************************************************
    Running configure


    Unter /usr/src/vdr/vdr-git/vdr liegen die Sourcen


  • Noch eine Frage ans Team: Sollten wir in jedem Makefile nicht auch das Makefile selbst sowie – wo referenziert – Make.config, Make.global und $(PLGCFG) als Abhängigkeit für all, install-lib und install-i18n führen?


    Make.global ist eine Altlast, die irgendwann entfallen wird. Kein neues Plugin-Makefile zieht diese mehr an.


    Make.config dagegen ist optional. Man muss sie nicht anlegen. Kompilieren muss auch ohne möglich sein.

  • Ich bin der Meinung dies ist im PLUGIN.html falsch:


    Code
    cMyReceiver::cMyReceiver(int Pid)
    :cReceiver(tChannelID(), -1, Pid)
    {
    }


    cReceiver hat kein drittes Argument.


    richtig:

    Code
    cMyReceiver::cMyReceiver(int Pid)
    :cReceiver(tChannelID(), -1)
    {
          AddPid(Pid);
    }


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch


  • Und der erste Parameter ist keine tChannelId mehr, sondern ein cChannel-Pointer:

    Code
    cMyReceiver::cMyReceiver(int Pid)
    :cReceiver(NULL, -1)
    {
      AddPid(Pid);
    }


    Klaus

  • WARNING: plugin xineliboutput is using an old Makefile!
    Makefile:113: VDRDIR = /usr/src/vdr/vdr-git/vdr
    Makefile:114: ********************************************************
    Makefile:115: VDR source tree not detected !
    Makefile:116: VDR plugins will not be installed.
    Makefile:117: ********************************************************

    Das originale Makefile des Plugins prüft, ob VDRDIR auf "../../.." gesetzt ist. Im Gegensatz zum alten System übergibt das VDR-Makefile jetzt immer VDRDIR mit dem absoluten Pfad.


    Das alte VDR-Makefile hingegen hat VDRDIR überhaupt nicht gesetzt, weshalb die alten Plugin-Makefiles diese Variable selbst passend (meist auf "../../..") gesetzt haben. Damit dieser Default-Wert aber wie gewünscht verwendet wird, darf dem alten Plugin-Makefile die Variable aber nicht per make-Parameter mitgegeben werden. Ich würde deshalb vorschlagen, im VDR-Makefile den Aufruf wie folgt abzuändern:


    Code
    # Old Makefile\
    		if ! grep -q "PKGCFG" "$(PLUGINDIR)/src/$i/Makefile" ; then\
    	   	echo "WARNING: plugin $i is using an old Makefile!";\
    	   	oldmakefile="$oldmakefile $i";\
    	   	$(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$i" CFLAGS="$(CFLAGS) $(CDEFINES) $(CINCLUDES)" CXXFLAGS="$(CXXFLAGS) $(CDEFINES) $(CINCLUDES)" LIBDIR="$(PLUGINDIR)/lib" all || failed="$failed $i";\
    	   	continue;\
    	   	fi;\


    Damit kompiliert das Plugin und legt seine Dateien wie gewohnt in PLUGIN/lib ab, von wo aus sie dann ins Installationsverzeichnis kopiert werden. Bei mir hat das Plugin ohne diese Änderung "seine" Objektfiles bei sich behalten und erst per make install installiert.


    Das Patchset für die Änderung habe ich beigefügt.
    Was ist die Meinung des Teams hierzu?


    Ciao, Stefan

    Dateien

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.5 und VDR 2.6.7 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

Jetzt mitmachen!

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