FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: kafi am 21 Oktober 2017, 22:10:47

Titel: "Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: kafi am 21 Oktober 2017, 22:10:47
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 (https://wiki.fhem.de/wiki/DbLog)).
Problem besteht noch immer, aber ich bin ratlos.
Hat jemanden nen Tip?

Danke!
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: herrmannj am 21 Oktober 2017, 23:11:02
was ergibt ein sudo apt-get install libdbi-perl ?
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: kafi am 22 Oktober 2017, 08:06:17
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
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: DS_Starter am 22 Oktober 2017, 08:46:36
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 ?

Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: kafi am 22 Oktober 2017, 09:05:18
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
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: DS_Starter am 22 Oktober 2017, 09:23:14
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).


Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: kafi am 22 Oktober 2017, 09:57:28
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.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: DS_Starter am 22 Oktober 2017, 10:07:37
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
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: kafi am 22 Oktober 2017, 10:54:06
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 (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?
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 03 September 2018, 22:17:59
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
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: CoolTux am 03 September 2018, 22:44:36
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.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: DS_Starter am 03 September 2018, 22:51:27
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
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 03 September 2018, 23:01:18
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:~#


Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: CoolTux am 03 September 2018, 23:05:27
Dann deinstalliere die Abhängigkeit halt vorerst auch.

libdbd-sqlite3-perl
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: DS_Starter am 03 September 2018, 23:20:45
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...
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 03 September 2018, 23:57:08
Die Abhängigkeit kann auch nicht deinstalliet werden,
root@raspberrypi:~# apt-get remove libdbd-sqlite3-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.


Weitere Ideen?
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: DS_Starter am 04 September 2018, 00:03:27
Hast du denn keine Sicherung deines Systems die du restoren kannst ?
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 04 September 2018, 00:08:52
Nicht do aktuell, da Renovierung, Urlaub, Renovierung also ca 2 Monate aber auch viel geändert in der Zeit.

Werde mir aber jetzt nen 2. Pi3 holen und ein simultanes system aufbauen und diese synchron halten damit ich bei Problemen umschalten kann.

Nur das hilft mir grade nicht
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: DS_Starter am 04 September 2018, 00:16:15
Naja wenn du dir vorher noch die fhem.cfg, fhem.save und deine DB (ist ja bei SQLIte nur ein File) sicherst, dein System restorst und dann vor dem FHEM Start diese Files  wieder auf das Systems bringst sollte es ja klappen. Dann noch ein FHEM update und bist wieder online.
Kannst du ja mal drüber schlafen und durchdenken, aber das wäre ein Weg wenn du sonst nicht vorankommst.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 04 September 2018, 00:25:17
Ja aber laufen ja noch ein wenig mehr Sachen... Fhem.JS für fhrmSwitch, alexa, pilight, lirc,.....
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: betateilchen am 05 September 2018, 09:48:04
Dein Problem ist doch überhaupt nicht die Deinstallation der Pakete, sondern eine vorher gescheiterte Installation eines neuen Paketes. Das merkt sich die apt-Datenbank so lange, bis das Problem behoben ist.

Zwei Möglichkeiten:

Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 05 September 2018, 12:59:15
Hallo, das liefert ein apt-get -f install
root@raspberrypi:~# apt-get -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 3 nicht aktualisiert.
root@raspberrypi:~#


Wo finde ich denn die Textdatei. Damit ich da mal weiter komme.
Verstehe nicht warum FHEM nicht auf das Modul zugreifen kann.
Da die DBI.pm in den perl5/ Ordnern vorhanden ist.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: betateilchen am 05 September 2018, 13:20:37
Zitat von: Tueftler1983 am 05 September 2018, 12:59:15
Da die DBI.pm in den perl5/ Ordnern vorhanden ist.

ja, sie ist vorhanden,aber sie ist funktioniert nicht. Das steht doch klipp und klar in der von Dir geposteten Fehlermeldung.

Nimm mal eine neue SD Karte und kopiere den ganzen Kram um.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: betateilchen am 05 September 2018, 13:21:38
Zitat von: Tueftler1983 am 03 September 2018, 22:17:59
aber habe nach einem Stromausfall das selbe Problem.

da wette ich zwei Tüten Popcorn drauf, dass der Stromausfall Deine SD Karte geschrottet hat.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 05 September 2018, 17:27:07
Also das Kopieren bzw clonen der Karte hat funktioniert. Nur mit der geclonten besteht das selbe Problem.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: betateilchen am 05 September 2018, 19:19:57
Du solltest ja nur das FHEM auf eine neu aufgesetzte SD Karte kopieren. Wenn Du eine defekte perl Datei geclont hast, ist es kein Wunder, dass das Problem auch bei der neuen SD Karte besteht.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 05 September 2018, 19:44:19
Ja aber da sollte dann doch das deinstallieren gehen oder?

Und nur FHEM müßte ich ja nicht.... Ist ja einiges mehr.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 06 September 2018, 20:00:11
Gibt es jetzt ne Möglichkeit die Perl Module neu zu installieren? Über editieren der Textdatei oder sonst wie?
Die eigentlichen Logs, DB'S, etc werden ja auf USB geschrieben sodass die SD Karte eig von zu vielen schreib Vorgängen verschont bleibt.
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Wernieman am 06 September 2018, 20:42:18
Trotzdem ist Deine SD scheinbar "Schrott", nicht in der Hardware, sondern in der Software (Filesystem). Hast Du z.B. Swap eingerichtet?

Übrigens ist auch USB da keine Lösung (gibt diverse Threads dazu im Forum).

Lösung: Neue SD mit Betriebsystem aufspielen und FHEM etc. installieren.
DANN von der alten die fhem.cfg, DB-Dateien etc. kopieren (und hoffentlich glücklich sein)
Titel: Antw:"Perl module DBI is missing" DBLog läuft nicht mehr nach reboot
Beitrag von: Tueftler1983 am 06 September 2018, 22:11:44
Tja dann muss ich erstmal ohne Datenbank leben. Denn ich habe nicht alles mal eben neu aufgesetzt, zu viel Zusatz Programme module.
Und nen 2. pi3 auf dem ich parallel aufsetzen kann, klappt erst nächsten Monat.