VDR Developer Version 2.5.4

  • Im GIT (git.tvdr.de) gibt es jetzt die VDR Developer Version 2.5.4.


    ACHTUNG: Verwendung dieser Version für den Alltagsbetrieb auf eigene Gefahr!


    Hier die Änderungen seit Version 2.5.3:

    Bitte ausgiebig testen!

    Bug-Reports etc. bitte hier in diesem Thread posten.

  • swap(a,b) passt immer noch nicht. Seit gcc-11.1.0 gibt es da echte Probleme - auch ohne using namespace std


    Kannst du dich evtl mit dem Patch in 'vdr-2.4.6 kompiliert mit gcc-11.0.0 nicht' von heute anfreunden?

    Ich mein, die STL beißt ja nicht.

  • Unter Verzicht von ein paar plugins läuft es auf meinem Testsystem.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Mit den angehängtem diff lässt sich epgsearch wieder übersetzen (ohne ausgiebigen Test)

    Files

    • epgs.diff

      (2.31 kB, downloaded 65 times, last: )

    vdr-2.4.6
    softhddevice,, dbus2vdr, dvd, epgsearch, femon, graphtftng, hbbtv, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.6 ,AsRock J4105, CIne CT-V7 DVB-C

  • Das scheint, zumindest in der Programmansicht von epgsearch, auch vorher keine Problem gewesen zu sein. Aber ich werde mir das genauer ansehen.

    vdr-2.4.6
    softhddevice,, dbus2vdr, dvd, epgsearch, femon, graphtftng, hbbtv, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.6 ,AsRock J4105, CIne CT-V7 DVB-C

  • Hallo,


    Kann mal bitte jemand, der softhddevice verwendet,

    Code
    1. /usr/bin/svdrpsend PLUG softhddevice ATTA

    ausführen und in den syslog schauen?

    Ich bekomme da

    Quote

    May 22 07:29:36 vdr1 vdr[80172]: *** buffer overflow detected ***: terminated

    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.4x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Aber ich werde mir das genauer ansehen.

    Es wurde ja nur angezeigt, dass ein Timer existiert und nicht unterschieden, ob aktiv oder nicht.#


    Bei der Gelegenheit wäre ein neues Feature nett, das die Timer unterscheidet in 'Aktiv' und 'Inaktiv'. Im Skin kann man das dann bestimmt schön mit Symbolen anzeigen ;-)

    MP-Logos (Kanallogos für VDR) - Picons2VDR (Kanallogos für VDR) - MV_Backup (Backup mit RSync) - Skin FlatPlus (Fork)

    „In zwei Jahren wird das Spam-Problem gelöst sein.“ [Bill Gates], Microsoft-Chef, 2004

  • Was passt denn jetzt mit swap() plötzlich nicht?

    Ich habe mal versucht die ganzen Plugins für den VDR 2.5.4 in diesem PPA bauen zu lassen und da ist wegen swap einiges kaputt gegangen (es sind jeweils die Buildlogs verlinkt):


    Außerdem brauchen diese beiden Plugins noch Anpassungen:

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Für live hatte ich das schon fertig, aber leider hat Markus heute alle diese Dateien angefasst.

  • Kann mal bitte jemand, der softhddevice verwendet,

    Gerade auf Kodi umgeschaltet, da ist der Befehl dabei, kein Problem


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Für live hatte ich das schon fertig, aber leider hat Markus heute alle diese Dateien angefasst.

    Danke für den Hinweis, mein Stand lässt sich aber trotzdem noch rebasen. Dann mache ich es voll fertig und poste einen neuen Branch zum Testen ins git. Muss ich noch was beachten außer die "namespace std" raus nehmen und "std::" einfügen ?

    VDR
  • Das wird so passen.

  • Also epgsearch geht bei mir (archlinux, gcc 11.1.0) auch mit obigem Patch noch nicht:


    CC conflictcheck.o

    In Datei, eingebunden von /usr/include/c++/11.1.0/set:60,

    von conflictcheck.h:30,

    von conflictcheck.c:26:

    /usr/include/c++/11.1.0/bits/stl_tree.h: In Instanziierung von »static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = cConflictCheckTimerObj*; _Val = cConflictCheckTimerObj*; _KeyOfValue = std::_Identity<cConflictCheckTimerObj*>; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<cConflictCheckTimerObj*>*]«:

    /usr/include/c++/11.1.0/bits/stl_tree.h:2069:47: erfordert durch »std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = cConflictCheckTimerObj*; _Val = cConflictCheckTimerObj*; _KeyOfValue = std::_Identity<cConflictCheckTimerObj*>; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = cConflictCheckTimerObj*]«

    /usr/include/c++/11.1.0/bits/stl_tree.h:2122:4: erfordert durch »std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(_Arg&&) [with _Arg = cConflictCheckTimerObj* const&; _Key = cConflictCheckTimerObj*; _Val = cConflictCheckTimerObj*; _KeyOfValue = std::_Identity<cConflictCheckTimerObj*>; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>]«

    /usr/include/c++/11.1.0/bits/stl_set.h:512:25: erfordert durch »std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = cConflictCheckTimerObj*; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<cConflictCheckTimerObj*, cConflictCheckTimerObj*, std::_Identity<cConflictCheckTimerObj*>, TimerObjSort, std::allocator<cConflictCheckTimerObj*> >::const_iterator; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other = std::allocator<cConflictCheckTimerObj*>; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<cConflictCheckTimerObj*>, cConflictCheckTimerObj*>::rebind<cConflictCheckTimerObj*>; typename _Allocator::value_type = cConflictCheckTimerObj*; std::set<_Key, _Compare, _Alloc>::value_type = cConflictCheckTimerObj*]«

    conflictcheck.c:280:47: von hier erfordert

    /usr/include/c++/11.1.0/bits/stl_tree.h:770:15: Fehler: statische Erklärung gescheitert: comparison object must be invocable as const

    770 | is_invocable_v<const _Compare&, const _Key&, const _Key&>,

    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /usr/include/c++/11.1.0/bits/stl_tree.h:770:15: Anmerkung: »std::is_invocable_v<const TimerObjSort&, cConflictCheckTimerObj* const&, cConflictCheckTimerObj* const&>« wird zu »false« ausgewertet

    make[1]: *** [Makefile:197: conflictcheck.o] Fehler 1

  • wirbel

    Bitte schaue dir mal den Branch vdr25 an, irgendwas habe ich übersehen. Ich bekomme den Fehler nicht weg, obwohl jetzt alle "namespace std" raus sind.


    VDR
  • Auch ohne namespace std scheinen einige System-Includes swap zu brauchen und ziehen std nach. Durch den Verzicht auf STL_CONFIG_H gibt es dann wohl Probleme.

    Zu epgsearch sind vorläufige Anpassungen weiter oben, aber ich wollte mit dem git noch warten, bis sich hier eine endgültige Lösung abzeichnet.

    Für epgsearch und gcc11 sind Änderungen neu im git.

    vdr-2.4.6
    softhddevice,, dbus2vdr, dvd, epgsearch, femon, graphtftng, hbbtv, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.6 ,AsRock J4105, CIne CT-V7 DVB-C