"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot

Begonnen von kafi, 21 Oktober 2017, 22:10:47

Vorheriges Thema - Nächstes Thema

kafi

Hallo,

nach einem Reboot meines Raspis läuft auf einmal mein DBLog nicht mehr.


2017.10.21 21:37:21 1: configfile: Error: Perl module DBI is missing.
        Install it on Debian with: sudo apt-get install libdbi-perl


Alle nötigen Pakete sind aber installiert und up-to-date.
Hatte auch schon alle für DBLog und mysql nötigen Pakete de- und neu installiert (siehe https://wiki.fhem.de/wiki/DbLog).
Problem besteht noch immer, aber ich bin ratlos.
Hat jemanden nen Tip?

Danke!
Raspberry Pi 3, 1x JeeLink 868(v3c), 7xTX 29 DT-HT, 2xMagic LED WIFI Controller, 1x CUL868, 2xHomeMatic 130248 Zwischenstecker-Schaltaktor, Osram Lightifiy mit diversen Komponenten, Intertechno Funksteckdosen

herrmannj


kafi

eben nichts brauchbares:
root@Raspi1:~# apt-get install libdbi-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
libdbi-perl ist schon die neueste Version.
libdbi-perl wurde als manuell installiert festgelegt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.


deswegen hatte ich es ja auch schon neu installiert
Raspberry Pi 3, 1x JeeLink 868(v3c), 7xTX 29 DT-HT, 2xMagic LED WIFI Controller, 1x CUL868, 2xHomeMatic 130248 Zwischenstecker-Schaltaktor, Osram Lightifiy mit diversen Komponenten, Intertechno Funksteckdosen

DS_Starter

Wenn du auf der Linuxkonsole mit dem fhem-User (wenn fhem unter diesem User läuft) mal folgendes eingibst:


sudo -su fhem (zum fhem-user wechseln)
  dann

perl -e 'use DBI;' 
  bzw.
dpkg -l |grep -i libdbi


Klappt das ohne Fehler ?

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kafi

es tut was, Fehler kann ich nicht erkennen:
fhem@Raspi1:/root$ dpkg -l |grep -i libdbi
ii  libdbd-mysql:armhf                    0.9.0-3                                   armhf        MySQL database server driver for libdbi
ii  libdbi-perl                           1.631-3+b1                                armhf        Perl Database Interface (DBI)
ii  libdbi1:armhf                         0.9.0-4                                   armhf        DB Independent Abstraction Layer for C -- shared library
Raspberry Pi 3, 1x JeeLink 868(v3c), 7xTX 29 DT-HT, 2xMagic LED WIFI Controller, 1x CUL868, 2xHomeMatic 130248 Zwischenstecker-Schaltaktor, Osram Lightifiy mit diversen Komponenten, Intertechno Funksteckdosen

DS_Starter

#5
Hmm, also da bin ich auch etwas ratlos und kann mir nicht vorstellen woran das Problem liegen könnte.
Im DbLog gibt es am Anfang eine einfache Prüfung ob das Laden des DBI klappt. Die habe ich für dich in dem angehängten Testmodul ausgeschaltet.
Schau mal ob du damit erstmal weiterkommst und dein Logging läuft. (Runterladen, umbenennen und fhem restart).


ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kafi

Vielen Dank für die Unterstützung...

Nach dem reboot kommt:
Messages collected while initializing FHEM: configfile: Cannot load module DbLog

Ich habe dann einen reload des Moduls versucht:

Attempt to reload DBI.pm aborted.
Compilation failed in require at ./FHEM/93_DbLog.pm line 155.
BEGIN failed--compilation aborted at ./FHEM/93_DbLog.pm line 155.


Kann es sein das bei eine DBI.pm fehlt? Im Ordner /opt/fhem/FHEM finde ich zumindest keine.
Raspberry Pi 3, 1x JeeLink 868(v3c), 7xTX 29 DT-HT, 2xMagic LED WIFI Controller, 1x CUL868, 2xHomeMatic 130248 Zwischenstecker-Schaltaktor, Osram Lightifiy mit diversen Komponenten, Intertechno Funksteckdosen

DS_Starter

Jetzt wissen wir dass die Prüfung recht hat.  ;)

Ja das DBI.pm Modul muss da sein, es soll ja geladen werden. Bei mir finde ich es im Verzeichnis:


/usr/lib/x86_64-linux-gnu/perl5/5.20/Bundle/DBI.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/DBI.pm


Es war doch sicherlich nicht der erste Reboot den du gemacht hast. Irgendwas muss doch geändert worden sein seit dem letzten Restart.

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kafi

Danke Heiko, wie es immer so ist, das Problem sitzt meistens zwischen Bildschirm und Stuhllehne...

wie sollte es anders sein: bei mir gibt es unterhalb von /usr/lib/ kein x-irgendwas Verzeichnis

An meinem System schraube ich die letzten Tage schon öfter rum, ursächlich war irgendein schiefgelaufenes update beim samba-package.
Darauf hin musste ich ein image aus dem backup restoren, da lief garnichts mehr.
Dann hatte ich das System wieder am Laufen und weiter gewerkelt, System lief aber die letzten Tage (augenscheinlich) problemlos und stabil.
Bis ich gestern dabei war das Modul https://wiki.fhem.de/wiki/XiaomiFlowerSens einzurichten. Im Zuge dessen machte ich einen reboot und dann tauchte das DBlog-Problem auf.
Davor war ich auch schon dabei, das DbRep gemäß Wiki vorzubereiten und habe die darin genannten packages installiert bzw. auf vorhandensein geprüft. DBI ist hier ja ein Kandidat, womöglich ist hier etwas schief gelaufen, muss ich mir gleich noch einmal anschauen...

update: ach ne Denkfehler: sudo apt-get install libdbi-perl bringt ja eben nix, ist ja da  :o

2.update: habe die dbi.pm gefunden in /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2/DBI.pm.
  Wo genau müsste sie hin damit das DBlog-Modul sie findet und es wieder läuft?
Raspberry Pi 3, 1x JeeLink 868(v3c), 7xTX 29 DT-HT, 2xMagic LED WIFI Controller, 1x CUL868, 2xHomeMatic 130248 Zwischenstecker-Schaltaktor, Osram Lightifiy mit diversen Komponenten, Intertechno Funksteckdosen

Tueftler1983

Hallo, sorry das ich das Thema nochmal aufgreifen aber habe nach einem Stromausfall das selbe Problem.

Die DBI.pm ist in den Ordnern:
/usr/lib/x86_64-linux-gnu/perl5/5.20/Bundle/DBI.pm
/usr/lib/x86_64-linux-gnu/perl5/5.20/DBI.pm


Habe noch diesen Consolen Auszug vielleicht hilft es noch weiter.

root@raspberrypi:~# sudo -su fhem
fhem@raspberrypi:/root$ perl -e 'use DBI;'
Unrecognized character \xFD; marked by <-- HERE after ::TIEHASH <-- HERE near column 19 at /usr/lib/arm-linux-gnueabihf/perl5/5.20/DBI.pm line 1227.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
fhem@raspberrypi:/root$ dpkg -l |grep -i libdbi
ii  libdbi-perl                           1.631-3+b1                                armhf        Perl Database Interface (DBI)
ii  libdbix-contextualfetch-perl          1.03-3                                    all          module to add context aware fetches to DBI
fhem@raspberrypi:/root$


Hoffe ihr könnt mir helfen

CoolTux

Du hast doch nun schon einen Thread auf, wieso noch mal den alten hier rausholen.

reinstalliere einfach das Packet noch mal, vielleicht ist was kaputt gegangen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

DS_Starter

Ja, wie Cooltux schon sagte ... hier noch ein Tipp von mir:

sudo apt-get remove libdbi-perl
sudo apt-get install libdbi-perl


Bei der Deinstallation werden auch die DBD-Pakete vom System entfernt. Einfach wieder installieren:


sudo apt-get install [libdbd-mysql-perl] [libdbd-pg-perl] libdbd-sqlite3-perl


Du musst natürlich das DBD deines verwendeten DB-Systems verwenden.

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Tueftler1983

Leider habe ich auf meinen Beitrag ja keine Reaktion bekommen.

Und deinstallieren klappt nicht:
root@raspberrypi:~# sudo apt-get remove libdbi-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
fhem : Hängt ab von: libdbd-sqlite3-perl soll aber nicht installiert werden
E: Fehler: Unterbrechungen durch pkgProblemResolver::Resolve hervorgerufen; dies könnte durch zurückgehaltene Pakete verursacht worden sein.
root@raspberrypi:~#



CoolTux

Dann deinstalliere die Abhängigkeit halt vorerst auch.

libdbd-sqlite3-perl
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

DS_Starter

Habe auf meinem Testsystem das eben probiert. Remove libdbi entfernt automatisch die DBD-Pakete:


heiko@fhemtest:~$ sudo apt-get remove libdbi-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden ENTFERNT:
  libdbd-mysql-perl libdbd-pg-perl libdbd-sqlite3-perl libdbi-perl
0 aktualisiert, 0 neu installiert, 4 zu entfernen und 20 nicht aktualisiert.
Nach dieser Operation werden 3.378 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] J
(Lese Datenbank ... 98872 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von libdbd-mysql-perl (4.041-2) ...
Entfernen von libdbd-pg-perl (3.5.3-1+b2) ...
Entfernen von libdbd-sqlite3-perl (1.54-1) ...
Entfernen von libdbi-perl (1.636-1+b1) ...
Trigger für man-db (2.7.6.1-2) werden verarbeitet ...


Und läuft auch ohne meckern durch. Danach das Install entsprechend auch fehlerfrei für alle Pakete.
Hmm...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter