vdr4arch - epg2vdr / scraper2vdr

  • Beide genannten Plugins lassen sich zwar bauen und installieren, jedoch startet der VDR nicht.


    Beide Plugins aus aktuellem GIT


    Das Log sagt:

    Code
    Nov 17 13:46:10 vdr03 vdr[1231]: [1231] loading plugin: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1
    Nov 17 13:46:10 vdr03 vdr[1231]: [1231] ERROR: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1: undefined symbol: PyObject_Repr
    Nov 17 13:46:10 vdr03 vdr[1231]: vdr: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1: undefined symbol: PyObject_Repr


    Zum scraper2vdr hab ich nichts direkt gefunden bisher, einzig was auffällt ist das libmariadbclient als Depends bei beiden hinterlegt ist und aktualisiert wurde. Natürlich wurden beide Plugins neugebaut.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Denk ich auch inzwischen

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Ist das nicht das was in vdr-epg-daemon fails to build with Python 3.8 schon mal behandelt wurde?


    Wenn Arch LInux ARM schon Python 3.8 anbietet, kann ich es später mal auf dem Raspberry ausprobieren...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Im Verzeichnis der lib vom Plugin findet man in der python.c den Code:


    Code
    #if PY_MAJOR_VERSION >= 3
       PyObject* strExc = PyObject_Repr(pvalue);    // Now a unicode object
       PyObject* pyStr = PyUnicode_AsEncodedString(strExc, "utf-8", "Error ~");
       error = PyBytes_AsString(pyStr);
    
       Py_XDECREF(strExc);
       Py_XDECREF(pyStr);
    #else
       error =  PyString_AsString(pvalue);
    #endif

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Python ist python-3.8.0-1-x86_64.pkg.tar.xz

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Leider ist Arch Linux ARM noch nicht soweit (https://archlinuxarm.org/forum…62588&hilit=python#p62588).


    Hast du mal geschaut, was passiert, wenn du den --embed Flag für python-config setzt und das Plugin neu baust und installierst? sed -i -e 's:$(shell python-config --libs):$(shell python3-config --libs --embed):' Makefile

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Im Makefile in /lib steht nur das:


    Code
    ifdef USEPYTHON
        BASELIBS += $(shell python-config --libs)
       LIBOBJS += python.o
    endif



    ...und im Makefile im root vom Plugin:


    Code
    LIBS += $(shell mysql_config --libs_r) $(shell python-config --libs) $(shell pkg-config --libs jansson)

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Hab das PKGBUILD um die Option erweitert und das Plugin nochmal neu gebaut, jetzt funktioniert es wieder. scraper2vdr läuft auch wieder da epg2vdr da ist.


    Danke!

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Plugin oder PKGBUILD?


    Im PKGBUILKD einfach die Zeile ergänzen, von oben.


    Edit:

    https://projects.vdr-developer.org/issues/2592

    Gruß utiltiy



    VDR Projekte VDR Projects

    Einmal editiert, zuletzt von utiltiy ()

  • Gibt es eine Chance das das noch jemand ins Plugin übernimmt?

    Ich bin sicher, wenn jemand horchi einen funktionierenden Patch schickt, wird er ihn einbauen. Ubuntu ist ja noch nicht soweit, dass es Python3.8 mitbringt - das wird hoffentlich mit der 20.04 kommen.


    Da ich gerade kein System mit Python3.8 und VDR zum Testen vor mir habe: funktioniert das so für euch?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke seahawk1986 , ich habe parallel ein Issue aufgemacht im GIT

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Hi,


    das wird hoffentlich mit der 20.04 kommen.

    The Focal Fossa (active development)

    python-3.8.0-4 release (main)


    Gruss

    Wolfgang

    TT S2-6400 - saa716x kompilieren unter 20.04(Focal)

  • So, archlinuxarm hat mit Python 3.8 nachgezogen - meine Patches, die ich auch gerade an horchi geschickt habe, habe ich angehängt (mein früherer Patch hat nicht funktioniert, man muss python-config mit --libs und --embed gleichzeitig aufrufen, um die gewünschten Build-Flags zu bekommen).

  • Wenn man den Patch mit dem Patch "vdr-epg2vdr-mariadb-fix-build.patch":



    bauen lässt bricht er ab.


    Ohne dem Patch läuft der zu 3.8 durch.


    Edit:

    Jetzt sehe ich dass der mit Integriert wurde ....

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Wenn ich das Plugin, mit dem Patch baue, startet der VDR nicht:


    Code
    Nov 20 16:27:22 vdr03 vdr[22821]: [22821] loading plugin: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1
    Nov 20 16:27:22 vdr03 vdr[22821]: vdr: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1: undefined symbol: PyObject_Repr
    Nov 20 16:27:22 vdr03 vdr[22821]: [22821] ERROR: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1: undefined symbol: PyObject_Repr


    Die Option: #sed -i -e 's:$(shell python-config --libs):$(shell python3-config --libs --embed):' Makefile wurde für den Patch wieder deaktiviert.


    Edit:

    Liegt es an: shell python3-config --libs --embed also dem: python3-config

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Kannst du mal die Ausgabe von make bzw. makepkg posten?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Der Build ansich funktioniert mit dem Patch, der läuft durch. Wenn ich das Paket installiere und den VDR wieder starte kommt die Meldung.


    Willst Du den ganzen Build-Prozess "sehen"?


    Buidlprozess: https://pastebin.ubuntu.com/p/xdgVMWQDKq/

    Gruß utiltiy



    VDR Projekte VDR Projects

Jetzt mitmachen!

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