Posts by marco

    ich habe mal mit folgendem Patch versucht, den vdr zu kompilieren, das schlägt leider mit folgender Fehlermeldung fehl.

    Quote

    eit.c:25:18: error: missing binary operator before token "("

    25 | #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31)

    | ^

    make: *** Deleting file '.dependencies'

    der Unterschied zwischen der Fedora31 und Fedora31 header-Datei time.h ist folgende, es ist die stime() nicht mehr deklariert.


    Hast du mal versucht zusätzlich zu #incude <sys/time.h> gemäß https://linux.die.net/man/2/stime #include <time.h> zu nutzen?

    das hatte ich bereits mit folgendem Patch in der eit.c versucht, klappt aber nicht.


    Diff
    1. --- a/eit.c.orig 2019-12-12 16:23:42.231599228 +0100
    2. +++ b/eit.c 2019-12-12 16:24:09.093601411 +0100
    3. @@ -13,6 +13,7 @@
    4. #include "eit.h"
    5. #include <sys/time.h>
    6. +#include <time.h>
    7. #include "epg.h"
    8. #include "i18n.h"
    9. #include "libsi/section.h"

    Hallo,


    ich versuche gerade den vdr-2.4.1 für die zukünftige Fedora 32 Version zu kompilieren und bekomme die folgende Fehlermeldung:


    stime () ist in glibc 2.31 veraltet und wurde durch clock_settime () ersetzt. glibc-2.31


    Code
    1. g++ -O3 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DVDR_USER=\"vdr\" -DSDNOTIFY -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DVIDEODIR=\"/var/lib/vdr/video\" -DCONFDIR=\"/etc/vdr\" -DARGSDIR=\"/etc/vdr/conf.d\" -DCACHEDIR=\"/var/cache/vdr\" -DRESDIR=\"/usr/share/vdr\" -DPLUGINDIR=\"/usr/lib64/vdr\" -DLOCDIR=\"/usr/share/locale\" -I/usr/include/freetype2 -I/usr/include/libpng16 -o eit.o eit.c^M
    2. eit.c: In constructor 'cTDT::cTDT(const u_char*)':^M
    3. eit.c:394:13: error: 'stime' was not declared in this scope; did you mean 'ctime'?^M
    4. 394 | if (stime(&dvbtim) == 0)^M
    5. | ^~~~~^M
    6. | ctime^M


    Hat jemand eine Idee, wie ich das lösen kann ?

    Hallo,


    zusätzliche vdr Packete kannst du in Fedora über das rpmfusion repo, welches du laut folgender Anleitung einbinden kannst.

    Mit dem Kommando:

    Code
    1. dnf search vdr-*

    kannst du dan alle vorkompilierten verfügbaren vdr Pakete auflisten lassen.

    Mit IMAGELIB=imagemagick funktioniert es.

    vielen Dank für die Lösung.


    Das Problem betrifft in der Zwischenzeit auch vdr-2.4.0, dort kann man es mit einem Downgrade von GraphicsMagick beheben, das Kommando lautet:

    Code
    1. [root@fc30 tmp]# dnf downgrade GraphicsMagick-doc-1.3.31-5.fc30 GraphicsMagick-c++-1.3.31-5.fc30 GraphicsMagick-devel-1.3.31-5.fc30 GraphicsMagick-c++-devel-1.3.31-5.fc30 GraphicsMagick-1.3.31-5.fc30

    Hallo,


    ich habe hier von einem Benutzer eine Segfault Meldung bekommen.



    Code
    1. Der segault tritt nicht auf, wenn das vdr-tvguide Plugin installiert ist.
    2. Installierte Plugins:
    3. vdr-tvguide-1.2.8-1.fc30.x86_64
    4. GraphicsMagick-c++-1.3.32-1.fc30.x86_64
    5. vdr-2.4.1-1.fc30.x86_64


    Wie kann man die Ursache ermitteln und beheben ?

    ich verwende die folgende HW, siehe hwinfo.


    Files

    • hwinfo.txt.gz

      (72.62 kB, downloaded 31 times, last: )

    Hallo,

    ich habe schon länger Fedora 30 mit kernel-5.1 und VDR-2.4.0 im Einsatz, bei mir klappt alles.

    Kann ich irgendwie helfen ?

    Ich habe in der Zwischenzeit Fedora 29 mit dem 4.19 Kernel installiert.

    Dazu habe ich mir jetzt ein eigenes Skript gebaut das die Sourcen von

    https://github.com/s-moch/linu…/archive/saa716x-4.19.zip holt.


    ausgeführt wird es mit folgendem Kommando

    Code
    1. cd /usr/local/src
    2. tar xfj mk_dvb_kernel_modules.tar.bz2
    3. sudo ./mk_dvb_kernel_modules.sh

    Ich würde die zweite Schleife anders programmieren:

    Code
    1. end = s.length;
    2. while (end > start)
    3. {
    4. end--;
    5. if (!isspace(s[end]))
    6. break;
    7. }
    8. if (end == start)
    9. return "";
    10. return s.substr(start, end - start + 1);

    Hab's jetzt nur im Kopf programmiert, bitte testen...

    Es macht keinen Sinn, end bis runter zum Anfang laufen zu lassen. Und so hat man auch kein Problem, dass end kleiner Null werden kann. Mab muss natürlich den Spezialfall eines reinen Whitespace-Strings beachten.


    Lars.


    Mit deinem Code

    gibt er dann folgendes aus:


    $ ./test2

    trimmed string: ''


    Hallo,


    ich bekomme beim kompilieren von epgfixer-0.3.1 die folgende Fehlermeldung:


    Code
    1. epgclone.c: In member function 'void cEpgClone::CloneEvent(cEvent*, cEvent*)':
    2. epgclone.c:50:18: error: 'Channels' was not declared in this scope
    3. channelID = Channels.GetByNumber(dest_num)->GetChannelID();
    4. ^~~~~~~~
    5. epgclone.c:50:18: note: suggested alternative: 'cChannels'
    6. channelID = Channels.GetByNumber(dest_num)->GetChannelID();
    7. ^~~~~~~~
    8. cChannels
    9. make: *** [Makefile:78: epgclone.o] Error 1

    finde habe hier im Forum keinen entsprechenden Patch der das behebt.

    Hallo,


    würdest du bitte in ein paar kurzen Sätzen erklären wie die Vorgehensweise ist, wenn man z.b. einen

    f28 kernel in der Version 4.16.2-300.fc28.x86_64 einsetzt.


    Das wäre sehr nett.

    Jetzt habe ich da noch eine weitere Fehlermeldung mit einer neueren compiler Version:

    komplette Logdatei: build.log

    wie kann man diese lösen ?