Posts by MartinKG
-
-
vdr-epg-daemon-1.3.29 lässt sich nun mit dem fix https://github.com/horchi/vdr-epg…af66834d61577f9
kompilieren, allerdings bekomme ich bei der zukünftigen Fedora 42 mit gcc-15 die folgende Fehlermeldung:QuoteCode
Display Moregcc -c -Wall -fPIC -L/usr/lib64/mariadb -L/usr/lib64/ -lmariadb -I/usr/include/mysql -I/usr/include/mysql/mysql -DMYSQL_DYNAMIC_PLUGIN -DDEBUG_MYSQL=0 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/include/mysql -I/usr/include/mysql/mysql -I/usr/include/python3.13 -I/usr/include/python3.13 -ggdb -fno-stack-protector -O -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/usr/include/mysql -I/usr/include/mysql/mysql -I/usr/include/python3.13 -I/usr/include/python3.13 -ggdb -fno-stack-protector -O -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -shared src/epglvbase.c -o src/epglvbase.o make[1]: Leaving directory '/builddir/build/BUILD/vdr-epg-daemon-1.3.29-build/vdr-epg-daemon-1.3.29/epglv' In file included from src/epglvbase.c:10: src/epglv.h:44:25: error: unknown type name ‘UDF_INIT’ 44 | my_bool base_epglv_init(UDF_INIT* init, UDF_ARGS* args, char* message); | ^~~~~~~~ src/epglv.h:44:41: error: unknown type name ‘UDF_ARGS’ 44 | my_bool base_epglv_init(UDF_INIT* init, UDF_ARGS* args, char* message); | ^~~~~~~~ src/epglv.h:45:24: error: unknown type name ‘UDF_INIT’ 45 | void base_epglv_deinit(UDF_INIT* init); | ^~~~~~~~ src/epglv.h:46:22: error: unknown type name ‘UDF_INIT’ 46 | long long base_epglv(UDF_INIT* init, UDF_ARGS* args, char* is_null, | ^~~~~~~~ src/epglv.h:46:38: error: unknown type name ‘UDF_ARGS’ 46 | long long base_epglv(UDF_INIT* init, UDF_ARGS* args, char* is_null, | ^~~~~~~~ src/epglvbase.c:47:25: error: unknown type name ‘UDF_INIT’ 47 | my_bool base_epglv_init(UDF_INIT* init, UDF_ARGS* args, char* message) | ^~~~~~~~ src/epglvbase.c:47:41: error: unknown type name ‘UDF_ARGS’ 47 | my_bool base_epglv_init(UDF_INIT* init, UDF_ARGS* args, char* message) | ^~~~~~~~ src/epglvbase.c:100:24: error: unknown type name ‘UDF_INIT’ 100 | void base_epglv_deinit(UDF_INIT* init) | ^~~~~~~~ src/epglvbase.c:125:22: error: unknown type name ‘UDF_INIT’ 125 | long long base_epglv(UDF_INIT* init, UDF_ARGS* args, char* is_null, char* error, | ^~~~~~~~ src/epglvbase.c:125:38: error: unknown type name ‘UDF_ARGS’ 125 | long long base_epglv(UDF_INIT* init, UDF_ARGS* args, char* is_null, char* error, | ^~~~~~~~ make[1]: *** [Makefile:52: src/epglvbase.o] Error 1
gibt es hierzu auch eine Lösung ?
-
-
Hallo,
ich versuche gerade vdr-epg-daemon-1.3.29 unter Fedora 41 zu kompilieren, das schlägt allerdings fehl mit der folgenden Meldung:
g++ -c -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/include/mysql -I/usr/include/mysql/mysql -I/usr/include/python3.13 -I/usr/include/python3.13 -ggdb -fno-stack-protector -O -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DBINDEST='"/usr/bin"' -DTARGET='"epgd"' -DLOG_PREFIX='""' -DPLGDIR='"/usr/lib64/epgd"' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DSYSDWDIFO -DUSESYSD -I/usr/include/libxml2 -DWITH_GZFILEOP -I/usr/include/libxml2 -DWITH_GZFILEOP -I/usr/include/python3.13 -I/usr/include/python3.13 -DGIT_REV='""' -o webdo.o webdo.c
webdo.c: In member function ‘int cEpgHttpd::doLog(MHD_Connection*, json_t*)’:
webdo.c:469:12: error: ‘eloAlways’ was not declared in this scope
469 | tell(eloAlways, "webif: (%d) %s\n", level, buffer);
| ^~~~~~~~~Wie kann das behoben werden ?
-
-
ich habe mal die Änderungen von Thread segmentation-fault-bei-aufruf-von-vdr-help-mit-installierten-plugin-tvscraper
übernommen, weis nur nicht, ob die passen.
Damit jedenfalls tritt bei mir der Segmentation fault ebenfalls nicht mehr auf.Diff
Display More--- a/tvscraper.c.orig 2025-02-12 08:27:04.978354621 +0100 +++ b/tvscraper.c 2025-02-12 08:27:54.476120151 +0100 @@ -181,7 +181,7 @@ cPluginTvscraper::cPluginTvscraper(void) { // create, but never delete (because VDR deletes this during shutdown) - extEpgHandler = new cExtEpgHandler(); +// extEpgHandler = new cExtEpgHandler(); } cPluginTvscraper::~cPluginTvscraper() { @@ -232,6 +232,7 @@ } bool cPluginTvscraper::Initialize(void) { + new cExtEpgHandler(); if (!cacheDirSet) { config.SetBaseDir(cPlugin::CacheDirectory(PLUGIN_NAME_I18N)); cacheDirSet = true;
passt dieser Patch ?
-
Bei Fedora wird über die /usr/sbin/runvdr im Verzeichnis
/usr/lib64/vdr nachgeschaut, welche Plugins existieren und die werden dann auch geladen, so interpretiere ich es zumindestens.Quote# ll /usr/lib64/vdr
insgesamt 41904
drwxr-xr-x. 2 root root 4096 31. Okt 17:53 bin
lrwxrwxrwx. 1 root root 26 20. Jul 02:00 config.h -> ../../include/vdr/config.h
-rwxr-xr-x. 1 root root 553232 24. Jul 02:00 libvdr-burn.so.2.6.9
-rwxr-xr-x. 1 root root 24144 20. Jul 02:00 libvdr-conflictcheckonly.so.2.6.9
-rwxr-xr-x. 1 root root 135816 20. Jul 02:00 libvdr-dvbhddevice.so.2.6.9
-rwxr-xr-x. 1 root root 20000 20. Jul 02:00 libvdr-epgsearchonly.so.2.6.9
-rwxr-xr-x. 1 root root 1168784 20. Jul 02:00 libvdr-epgsearch.so.2.6.9
-rwxr-xr-x. 1 root root 1698608 22. Dez 01:00 libvdr-live.so.2.6.9
-rwxr-xr-x. 1 root root 88648 24. Dez 01:00 libvdr-markad.so.2.6.9
-rwxr-xr-x. 1 root root 20000 20. Jul 02:00 libvdr-quickepgsearch.so.2.6.9
-rwxr-xr-x. 1 root root 830848 20. Nov 01:00 libvdr-skinnopacity.so.2.6.9
-rwxr-xr-x. 1 root root 35773208 25. Dez 01:00 libvdr-softhddevice.so.2.6.9
-rwxr-xr-x. 1 root root 111320 20. Jul 02:00 libvdr-streamdev-client.so.2.6.9
-rwxr-xr-x. 1 root root 532744 20. Jul 02:00 libvdr-streamdev-server.so.2.6.9
-rwxr-xr-x. 1 root root 938632 9. Okt 02:00 libvdr-tvguide.so.2.6.9
-rwxr-xr-x. 1 root root 970592 17. Nov 01:00 libvdr-tvscraper.so.2.6.9
-rw-r--r--. 1 root root 1091 20. Jul 02:00 Make.config
-rw-r--r--. 1 root root 318 15. Jul 09:07 Make.global
-rw-r--r--. 1 root root 194 20. Jul 02:00 plugins.mkQuoteBei mir läuft der VDR mit diesen Optionen
# ps -ef |grep vdr
vdr 2588 1 10 16:28 ? 00:00:41 /usr/sbin/vdr -v /video --vfat -D1 -u vdr --userdump -s vdr-shutdown.sh --plugin=softhddevice -s -g 1680x1050+200+100 -a hw:0,0 -d :1.0 -v vdpau --plugin=streamdev-client --plugin=dvbhddevice --plugin=markad --logocachedir=/var/lib/vdr/data/markad/logos --autologo=2 --plugin=burn -d /data/tmp --tempdir=/data/tmp --iso=/data/film --dvd=/dev/sr1 --plugin=epgsearch -l /var/log/vdr/epgsearch.log --plugin=live --ip=127.0.0.1 --plugin=skinnopacity --iconpath=/usr/share/vdr/plugins/skinnopacity/icons/ --logopath=/usr/share/vdr/plugins/skinnopacity/logos/ --epgimages=/var/cache/vdr/plugins/skinnopacity/epgimages/ --plugin=streamdev-server --plugin=tvguide --logopath=/usr/share/vdr/plugins/tvguide/channellogos/ --epgimages=/usr/share/vdr/plugins/tvguide/epgimages/ --iconpath=/usr/share/vdr/plugins/tvguide/epgimages/ --plugin=tvscraper --dir=/var/cache/vdr/plugins/tvscraper/ich habe mal die Ausgabe von "journalctl --unit vdr -b" nach dem Ausführen von "vdr --version" angehängt.
-
Warum machst Du nicht den von mir vorgeschlagenen Test (nur tvscraper, sonst kein Plugin)?
Du kannst dazu in /etc/vdr/conf.d die Links zu allen Plugin-Konfigurationsdateien (außer tvscraper) löschen.
> mit dem tvscraper startet der vdr erst gar nicht.
Dann gibt es bestimmt Fehlermeldungen. Welche?
ich bin hier unter Fedora unterwegs, da gibt es kein conf.d
und eine Fehlermeldung gibt es auch nicht, das Kommando beendet sich einfach.
-
wenn ich aus der Konsole heraus starte mit
martin@fc41:~$ /usr/sbin/vdr -v /video -D1 -u vdr --vfat --userdump -s vdr-shutdown.sh --plugin='dvbhddevice' --plugin='softhddevice -g 1680x1050+100+100 -a pipewire -d :1 -v vdpau' --plugin='tvscraper'
mit dem tvscraper startet der vdr erst gar nicht.
martin@fc41:~$ /usr/sbin/vdr -v /video -D1 -u vdr --vfat --userdump -s vdr-shutdown.sh --plugin='dvbhddevice' --plugin='softhddevice -g 1680x1050+100+100 -a pipewire -d :1 -v vdpau' --plugin='tvscraper --dir=/var/cache/vdr/plugins/tvscraper/' -
also ich bekomme das folgendes bei einem bt
(gdb) r
Starting program: /usr/sbin/vdr --version
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
vdr (2.6.9/2.6.9) - The Video Disk Recorder
burn (0.3.0) - Versatile convert-and-burn plugin
conflictcheckonly (0.0.1) - Direct access to epgsearch's conflict check menu
dvbhddevice (2.2.0) - HD Full Featured DVB device
epgsearch (2.4.1) - search the EPG for repeats and more
epgsearchonly (0.0.1) - Direct access to epgsearch's search menu
live (3.3.12) - Live Interactive VDR Environment
markad (4.2.8) - Mark advertisements
quickepgsearch (0.0.1) - Quick search for broadcasts
skinnopacity (1.1.19-Beta) - 'nOpacity' Skin
softhddevice (2.4.1) - A software and GPU emulated UHD device
streamdev-client (0.6.3) - VTP Streaming Client
streamdev-server (0.6.3) - VDR Streaming Server
tvguide (1.3.9) - A fancy 2d EPG Viewer
tvscraper (1.2.11) - Scraping movie and series infoProgram received signal SIGSEGV, Segmentation fault.
0x00005555556258ea in cListBase::Clear (this=0x5555557763c0 <EpgHandlers>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.c:2300
2300 delete objects;(gdb) bt
#0 0x00005555556258ea in cListBase::Clear (this=0x5555557763c0 <EpgHandlers>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.c:2300
#1 cListBase::~cListBase (this=0x5555557763c0 <EpgHandlers>, this=<optimized out>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.c:2207
#2 cList<cEpgHandler>::~cList (this=0x5555557763c0 <EpgHandlers>, this=<optimized out>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.h:644
#3 cEpgHandlers::~cEpgHandlers (this=0x5555557763c0 <EpgHandlers>, this=<optimized out>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/epg.h:310
#4 0x00007ffff7742701 in __run_exit_handlers () at /lib64/libc.so.6
#5 0x00007ffff77427ce in exit () at /lib64/libc.so.6
#6 0x00007ffff772924f in __libc_start_call_main () at /lib64/libc.so.6
#7 0x00007ffff772930b in __libc_start_main_impl () at /lib64/libc.so.6
#8 0x00005555555c0f35 in _start () -
Aus dem Backtrace kann ich nichts erkennen, installiere doch mal die Debug Version von markad. Falls das die Ursache sein sollte, sieht man vielleicht mehr. Was ich aber nicht glaube, weil bei mir geht das ohne Crash (allerdings mit VDR 2.7.3).
die Ausgabe bleibt identisch, wenn ich die markad debug Version installiere.
Aber der Segmentaion fault wird vom vdr-tvscraper-plugin (vdr-tvscraper-1.2.10-1.fc41.x86_64) verursacht, habe es deinstalliert.
Die Frage ist nun, was passt da nicht ?Aufgrufen wird das Plugin mit diesem Parameter
--plugin=tvscraper --dir=/var/cache/vdr/plugins/tvscraper/
Code# ll /var/cache/vdr/plugins/tvscraper/ insgesamt 130620 drwxr-xr-x. 2 vdr video 4096 27. Okt 10:48 epg drwxr-xr-x. 5 vdr video 36864 16. Nov 15:43 movies drwxr-xr-x. 2 vdr video 4096 27. Okt 10:48 recordings drwxr-xr-x. 412 vdr video 20480 16. Nov 15:41 series -rw-r--r--. 1 vdr video 133685248 16. Nov 15:53 tvscraper2.db
-
Hallo,
ich erhalte eine Segmentation fault, wenn ich das Kommando 'vdr --version' absetze, aber ansonsten läuft der VDR prima.
anbei mal der Backtrace.
Code
Display Moreroot@fc41:/tmp# gdb --args vdr --version GNU gdb (Fedora Linux) 15.2-2.fc41 Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from vdr... This GDB supports auto-downloading debuginfo from the following URLs: <https://debuginfod.fedoraproject.org/> Enable debuginfod for this session? (y or [n]) y Debuginfod has been enabled. To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit. Reading symbols from /root/.cache/debuginfod_client/fca1e34832d46910f86b87eb1e8df428c0cbe67c/debuginfo... (gdb) run Starting program: /usr/sbin/vdr --version [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". vdr (2.6.9/2.6.9) - The Video Disk Recorder burn (0.3.0) - Versatile convert-and-burn plugin conflictcheckonly (0.0.1) - Direct access to epgsearch's conflict check menu dvbhddevice (2.2.0) - HD Full Featured DVB device epgsearch (2.4.1) - search the EPG for repeats and more epgsearchonly (0.0.1) - Direct access to epgsearch's search menu live (3.3.9) - Live Interactive VDR Environment markad (4.2.6) - Mark advertisements quickepgsearch (0.0.1) - Quick search for broadcasts skinnopacity (1.1.18) - 'nOpacity' Skin softhddevice (2.3.8) - A software and GPU emulated UHD device streamdev-client (0.6.3) - VTP Streaming Client streamdev-server (0.6.3) - VDR Streaming Server tvguide (1.3.9) - A fancy 2d EPG Viewer tvscraper (1.2.10) - Scraping movie and series info Program received signal SIGSEGV, Segmentation fault. 0x00005555556258ea in cListBase::Clear (this=0x5555557763c0 <EpgHandlers>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.c:2300 2300 delete objects; Missing debuginfo, try: dnf debuginfo-install vdr-markad-4.2.6-1.fc41.x86_64 (gdb) bt #0 0x00005555556258ea in cListBase::Clear (this=0x5555557763c0 <EpgHandlers>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.c:2300 #1 cListBase::~cListBase (this=0x5555557763c0 <EpgHandlers>, this=<optimized out>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.c:2207 #2 cList<cEpgHandler>::~cList (this=0x5555557763c0 <EpgHandlers>, this=<optimized out>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/tools.h:644 #3 cEpgHandlers::~cEpgHandlers (this=0x5555557763c0 <EpgHandlers>, this=<optimized out>) at /usr/src/debug/vdr-2.6.9-2.fc41.x86_64/epg.h:310 #4 0x00007ffff7744461 in __run_exit_handlers (status=0, listp=0x7ffff7910680 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108 #5 0x00007ffff774452e in __GI_exit (status=<optimized out>) at exit.c:138 #6 0x00007ffff772b24f in __libc_start_call_main (main=main@entry=0x5555555b99e0 <main(int, char**)>, argc=argc@entry=2, argv=argv@entry=0x7fffffffdd48) at ../sysdeps/nptl/libc_start_call_main.h:74 #7 0x00007ffff772b30b in __libc_start_main_impl (main=0x5555555b99e0 <main(int, char**)>, argc=2, argv=0x7fffffffdd48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdd38) at ../csu/libc-start.c:360 #8 0x00005555555c0f35 in _start () (gdb) quit A debugging session is active. Inferior 1 [process 80524] will be killed.
-
ich habe es von hier
mitgeholt
-
ich habe da mal eine Frage.
Meine ganzen VDR-Plugins sind gegen vdr-2.6.9 kompiliert, wenn ich nun den vdr auf 2.7.2 update, fkt. dann die
Plugin's noch (kann es jetzt nicht so einfach testen), oder muss ich die ganzen Plugins neu übersetzen ? -
Danke für die Info, ich habe mal meinen Patch angehängt.
Diff
Display More-- a/displaymenu.c.orig 2024-09-30 14:54:46.843060012 +0200 +++ b/displaymenu.c 2024-09-30 14:57:59.828201233 +0200 @@ -1,4 +1,5 @@ #include "displaymenu.h" +#include <vdr/thread.h> cSDDisplayMenu::cSDDisplayMenu(cViewMenu *menuView) { view = menuView; @@ -169,7 +170,12 @@ } void cSDDisplayMenu::SetCurrentRecording(void) { +#if APIVERSNUM >= 20402 + cMutexLock mtx; + cControl *control = cControl::Control(mtx); +#else cControl *control = cControl::Control(); +#endif if (!control) { view->SetCurrentRecording(NULL); return; --- a/displayreplay.c.orig 2024-09-30 15:01:39.100900622 +0200 +++ b/displayreplay.c 2024-09-30 15:04:32.342356121 +0200 @@ -1,4 +1,5 @@ #include "displayreplay.h" +#include <vdr/thread.h> cSDDisplayReplay::cSDDisplayReplay(cViewReplay *replayView, bool ModeOnly) { view = replayView; @@ -28,7 +29,12 @@ if (!ok) return; if (!Play && Speed < 0) { +#if APIVERSNUM >= 20402 + cMutexLock mtx; + cControl *control = cControl::Control(mtx); +#else cControl *control = cControl::Control(); +#endif if (control) { const cRecording *recording = control->GetRecording(); if (recording && recording->FileName()) { --- a/coreengine/viewdisplayreplay.c.orig 2024-09-30 15:07:36.659252511 +0200 +++ b/coreengine/viewdisplayreplay.c 2024-09-30 15:09:55.660938358 +0200 @@ -1,4 +1,5 @@ #include "viewdisplayreplay.h" +#include <vdr/thread.h> /************************************************************************************ * cViewReplay @@ -413,7 +414,12 @@ } lastFlushModeOnly = now; - cControl *control = cControl::Control(); +#if APIVERSNUM >= 20402 + cMutexLock mtx; + cControl *control = cControl::Control(mtx); +#else + cControl *control = cControl::Control(); +#endif if (!control) return; double fps = control->FramesPerSecond();
-
Hallo,
wenn ich vdr-skindesigner-2.12 mit vdr-2.7.2 kompilieren möchte, bekomme ich die folgende Fehlermeldung:
Code
Display Moreg++ -O3 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -std=c++11 -std=c++11 -c -DPLUGIN_NAME_I18N='"skindesigner"' -I/usr/include/libxml2 -DSCRIPTFOLDER='"/usr/lib64/vdr/skindesigner/scripts"' -D__STL_CONFIG_H -DLIBSKINDESIGNERAPIVERSION='"0.1.2"' -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-6 -pthread -I/usr/include/libxml2 -DWITH_GZFILEOP -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpng16 -I/usr/include/webp -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libxml2 -I/usr/include/harfbuzz -I/usr/include/sysprof-6 -pthread -I/usr/include/pixman-1 -DWITH_GZFILEOP -ljpeg -o displaymenu.o displaymenu.c displaymenu.c: In member function ‘void cSDDisplayMenu::SetCurrentRecording()’: displaymenu.c:172:42: error: no matching function for call to ‘cControl::Control()’ 172 | cControl *control = cControl::Control(); | ~~~~~~~~~~~~~~~~~^~ In file included from /usr/include/vdr/dvbplayer.h:13, from /usr/include/vdr/menu.h:17, from coreengine/viewelementscommon.h:4, from coreengine/view.h:14, from coreengine/viewdisplaymenu.h:4, from displaymenu.h:6, from displaymenu.c:1: /usr/include/vdr/player.h:132:20: note: candidate: ‘static cControl* cControl::Control(cMutexLock&, bool)’ 132 | static cControl *Control(cMutexLock &MutexLock, bool Hidden = false); | ^~~~~~~ /usr/include/vdr/player.h:132:20: note: candidate expects 2 arguments, 0 provided make: *** [Makefile:141: displaymenu.o] Error 1 make: *** Waiting for unfinished jobs....
hat jemand bereits eine Patch hierzu ?
Danke Martin
-
also bei mir kompiliert es wenn ich folgendes ändere
-
Hi,
kannst du bitte noch den 3.6.8 Tag zur Verfügung stellen.
Danke
-
Wird eigentlich ein Rebuild für die Plugins benötigt, hat sich die APIVERSION geändert?
-
Danke, damit klappt es wieder.