epgd unter Debian bullseye oder bookworm geht nicht

  • Ich bekomme unter Debian bullseye oder bookworm epgd nicht an laufen.


    Ich kann es ohne Probleme kompilieren und beim start kommt dann der folgende Fehler:



    Zu der Fehlermeldung hab ich den folgenden Thread gefunden:

    [epgd] "SQL-Error in 'select epglv('123', '123')' - FUNCTION epg2vdr.epglv does not exist" ist aber vorhanden...


    Allerdings kann ich mit der Lösung nichts anfangen (ich kompiliere epgd selbst) bzw. ein manuelles kopieren des Plugins in das Verzeichnis hat bei mir nicht funktioniert.


    Code
    1. mysql_config --plugindir
    2. /usr/lib/x86_64-linux-gnu/libmariadb3/plugin
    3. mysql -u root -p -e "SELECT @@plugin_dir;"
    4. Enter password:
    5. +------------------------+
    6. | @@plugin_dir |
    7. +------------------------+
    8. | /usr/lib/mysql/plugin/ |



    Vielen Dank für eure Hilfe :)


    Gruß dile

  • Da muss das Plugin Verzeichnis angepasst werden, hatte ich auch schon. Mein EPGD läuft auch unter Debian in einer LXC.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • In der Konfiguration zur Datenbank

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Die Konfiguration zur Datenbank wird ja in der epgd.conf festgelegt. Da sehe ich keine Pfad für das Plugin Verzeichnis.


    Den Plugin Pfad in der Datenbank selbst kann ich soweit ich das gelesen habe auch nicht direkt anpassen.


    Ich vermute das muss im Makefile angepasst werden?


    Wenn ich unter epglv/Makefile folgendes ändere dann wird zwar das Plugin im neuen Pfad installiert aber der Fehler bleibt der gleiche


    #MYSQL_PLGDIR := $(shell mysql_config --plugindir)

    MYSQL_PLGDIR = /usr/lib/mysql/plugin/

  • Du hast auch für die MySQL eine *. conf in /etc...., da kann man den Pfad setzen

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Ich hab jetzt in der /etc/mysql/my.cnf folgendes hinzugefügt:

    Code
    1. [mysqld]
    2. plugin_dir=/usr/lib/x86_64-linux-gnu/libmariadb3/plugin

    Das Verzeichnis in der Datenbank ist auch geändert:

    Code
    1. mysql -u root -p -e "SELECT @@plugin_dir;"
    2. Enter password:
    3. +-----------------------------------------------+
    4. | @@plugin_dir |
    5. +-----------------------------------------------+
    6. | /usr/lib/x86_64-linux-gnu/libmariadb3/plugin/ |
    7. +-----------------------------------------------+

    Trotzdem kommen noch die Fehlermeldungen beim start von epgd


  • Liegt am Pfad auch das Plugin?

    Gruß utiltiy



    VDR Projekte VDR Projects

  • ja die mysqlepglv.so ist da

    hab epgd auch nochmal gelöscht, neu runter geladen und neu übersetzt



  • Da ich auf einem Testsystem ein neues EPGD installiert hatte war die Funktion gar nicht in der Datenbank, weil ich das vergessen hatte.

    Code
    1. CREATE FUNCTION epglv RETURNS INT SONAME 'mysqlepglv.so';
    2. CREATE FUNCTION epglvr RETURNS INT SONAME 'mysqlepglv.so';

    Mit dem angepassten Pfad in der Datenbank funktioniert es jetzt.

    Ich hab jetzt in der /etc/mysql/my.cnf folgendes hinzugefügt:

    Code
    1. [mysqld]
    2. plugin_dir=/usr/lib/x86_64-linux-gnu/libmariadb3/plugin

    Das Verzeichnis in der Datenbank ist auch geändert:

    Code
    1. mysql -u root -p -e "SELECT @@plugin_dir;"
    2. Enter password:
    3. +-----------------------------------------------+
    4. | @@plugin_dir |
    5. +-----------------------------------------------+
    6. | /usr/lib/x86_64-linux-gnu/libmariadb3/plugin/ |
    7. +-----------------------------------------------+


    Da aber der bisherige Pfad der Plugins aus der Datenbank auch nicht leer ist, frage ich mich ob es nicht besser wäre den Pfad für Plugins nicht über die Datenbank anzupassen und das Plugin stattdessen manuell zu kopieren.



    Warum sind die beiden Pfade in Debian jetzt überhaupt unterschiedlich? Ist das ein Fehler in Debian?


    Gruß dile