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
    1. Nov 17 13:46:10 vdr03 vdr[1231]: [1231] loading plugin: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1
    2. Nov 17 13:46:10 vdr03 vdr[1231]: [1231] ERROR: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1: undefined symbol: PyObject_Repr
    3. 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
    1. #if PY_MAJOR_VERSION >= 3
    2. PyObject* strExc = PyObject_Repr(pvalue); // Now a unicode object
    3. PyObject* pyStr = PyUnicode_AsEncodedString(strExc, "utf-8", "Error ~");
    4. error = PyBytes_AsString(pyStr);
    5. Py_XDECREF(strExc);
    6. Py_XDECREF(pyStr);
    7. #else
    8. error = PyString_AsString(pvalue);
    9. #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
    1. ifdef USEPYTHON
    2. BASELIBS += $(shell python-config --libs)
    3. LIBOBJS += python.o
    4. endif



    ...und im Makefile im root vom Plugin:


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

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Post by utiltiy ().

    This post was deleted by the author themselves ().
  • 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

  • Post by seahawk1986 ().

    This post was deleted by the author themselves: Das Problem hatte sich ja schon erledigt... ().
  • 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

    The post was edited 1 time, last by 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

  • 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).

    Files

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    The post was edited 2 times, last by seahawk1986 ().

  • 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
    1. Nov 20 16:27:22 vdr03 vdr[22821]: [22821] loading plugin: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1
    2. Nov 20 16:27:22 vdr03 vdr[22821]: vdr: /usr/lib/vdr/plugins/libvdr-epg2vdr.so.2.4.1: undefined symbol: PyObject_Repr
    3. 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