FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: matrois am 17 Juli 2014, 15:16:18

Titel: [gelöst] Starten von FHEM auf FB 7270
Beitrag von: matrois am 17 Juli 2014, 15:16:18
Hallo.
Ich teste gerade FHEM und bräuchte eure Hilfe:
Auf meiner Fritzbox (7270v3) läuft Freetz (freetz-2.0-11757) mit angeschlossener HDD. Ich möchte FHEM auf der Fritzbox starten und danach meine Systeme (ETH200, Max und Homematic) unter FHEM verbinden. Beim Starten von FHEM hakt es leider.

Kurzfassung was ich bisher gemacht habe:
Ich habe FHEM runtergeladen und versucht zu starten. Es kam die Fehlermeldung
Can't locate strict.pm in @INC
Nach einigem Rumprobieren habe ich gemerkt, dass FHEM die libs mitliefert. Nach einem export PERL5LIB='[pfadzumfhemordner]/fhem/lib/perl
hat sich die Fehlermeldung zu
Can't locate IO/Socket.pm in @INC geändert. Die lib-Datei "iO/Socket.pm" scheint allerdings wirklich nicht vorhanden zu sein. Vorher, nachher und hinterher hab ich noch so lange gegoogelt, dass mir jetzt schwindelig ist. Kann mir bitte jemand sagen wo der Wald ist, ich seh nur Bäume...

Danke für Tipps.
Viele Grüße,
matrois.
Titel: Antw:Starten von FHEM auf FB 7270
Beitrag von: rudolfkoenig am 17 Juli 2014, 15:44:54
ZitatDie lib-Datei "iO/Socket.pm" scheint allerdings wirklich nicht vorhanden zu sein.

Doch. In fhem-5.5-fb7270.zip (http://fhem.de/fhem-5.5-fb7270.zip) zu finden als fhem/lib/perl/arch/IO/Socket.pm

Titel: Antw:Starten von FHEM auf FB 7270
Beitrag von: matrois am 17 Juli 2014, 16:22:08
Danke für die schnelle Antwort. Ich war nicht drauf gekommen in den Unterordnern zu suchen. Ich bin leider nicht so firm in Sachen Perl. Daher muss ich leider schon wieder fragen... (hab aber eine neue Fehlermeldung dabei... ;-)

So wie ich das verstanden habe wird dem System per export PERL5LIB='/pfad/zu/libs'


mitgeteilt wo sich die libs befinden. Da strict.pm in "/pfad/zu/fhem/lib/perl" und IO/Socket.pm in "/pfad/zu/fhem/lib/perl/arch" befindet hab ich in meiner Einfältigkeit mal

export PERL5LIB='/var/media/ftp/uStor01/config/fhem/lib/perl:/var/medi
a/ftp/uStor01/config/fhem/lib/perl/arch'


probiert. Und siehe da, es kommt eine vollkommen neue Fehlermeldung:

Perl lib version (5.14.2) doesn't match executable 'fhem.pl' version (v5.10.1) at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/Config.pm line 60.
Compilation failed in require at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/DynaLoader.pm line 22.
BEGIN failed--compilation aborted at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/DynaLoader.pm line 22.
Compilation failed in require at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/XSLoader.pm line 99.
Compilation failed in require at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/IO/Handle.pm line 266.
BEGIN failed--compilation aborted at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/IO/Handle.pm line 266.
Compilation failed in require at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/IO/Socket.pm line 11.
BEGIN failed--compilation aborted at /var/media/ftp/uStor01/config/fhem/lib/perl/arch/IO/Socket.pm line 11.
Compilation failed in require at fhem.pl line 35.
BEGIN failed--compilation aborted at fhem.pl line 35.


die leider auf etwas hindeutet was ich schon vorher vermutet hatte. Kann es sein, dass ich noch separate Dinge wie ein Perl-Paket oder Lib-Paket oder ähnliches benötige? Im Internet hatte ich auch diese Anleitung ( http://www.wehavemorefun.de/fritzbox/FHEM_installieren (http://www.wehavemorefun.de/fritzbox/FHEM_installieren)) gefunden bei der man Perl separat herunterladen soll. Das funktioniert natürlich sehr schlecht, wenn der Link zum Download tot ist... Zum Glück hab ich dann weitergesucht und dieses Forum gefunden. Kann mir bei dem oben beschriebenen Szenario jemand weiterhelfen?

Titel: Antw:Starten von FHEM auf FB 7270
Beitrag von: rudolfkoenig am 17 Juli 2014, 16:34:52
Was ich nicht so recht verstehe: es gibt doch ein startfhem, wo eigentlich alles gesetzt wird, und auch getestet wurde (allerdings ist das ein paar Jahre her). Ich wuerde das als Ausgangspunkt verwenden.
Titel: Antw:Starten von FHEM auf FB 7270
Beitrag von: matrois am 17 Juli 2014, 17:04:26
OK, die startfhem Skripte hatte ich mir angeschaut und ich werde bei erneutem Sichten vermeintlich schlauer komme aber trotzdem nicht weiter:
Ich kenne jetzt zwei Ordner, die wichtige Perl Librarys enthalten:

In den Skripten werden per Export die Variablen mit LD_LIBRARY_PATH und PERL5LIB gesetzt. Die Sache mit $home klappt auf automatischem Weg nicht. Deshalb möchte/muss ich das manuell setzen.

Ich habe folgendes ausporbiert:

export PERL5LIB='/pfad/zu/fhem/lib/perl'
export LD_LIBRARY_PATH='/pfad/zu/fhem/lib/perl/arch'
perl fhem.pl fhem.cfg.demo


Das führt dann zu "Can't locate IO/Socket.pm". Vice Versa führt zu "Can't locate strict.pm". Ich komme vermutlich nicht weiter weil ich an der Stelle nicht weiß welche tatsächlichen Ordner startfhemDemo setzen will. Ich habe jetzt mal versucht startfhemDemo so umzubauen, dass es bei mir funktioniert (PATH ermittelt einen sinnvollen Pfad). Jetzt habe ich eine längere, neue Fehlermeldung:
Can't locate IO/Socket.pm in @INC (@INC contains: /var/media/ftp/uStor01/config/fhem/lib/perl /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl .) at fhem.pl line 35.
BEGIN failed--compilation aborted at fhem.pl line 35.


Einen Benutzer Rudi habe ich nicht, falls das wichtig ist.
Titel: Antw:Starten von FHEM auf FB 7270
Beitrag von: PeMue am 17 Juli 2014, 21:46:56
Hallo matrois,

ich habe mal das Startskript meiner FritzBox 7170 für die 7270 modifiziert, etwas swap als zusätzlicher Systemspreicher schadet nicht.
Sichere mal Deine startfhem mv startfhem startfhem.org und kopiere den Anhang in das Wurzelverzeichnis von fhem. Mit ./startfhem kannst Du dann fhem starten.

Gruß PeMue
Titel: Antw:Starten von FHEM auf FB 7270
Beitrag von: matrois am 18 Juli 2014, 10:41:43
Extrem vielen Dank. Es klappt. Der Swapspeicher war dank meiner 1.5TB externen Platte und dem schon vorhandenen Swapspeicher nicht das Problem. Es waren die Zeilen 88 + 89 speziell Zeile 89 aus dem Script von PeMue, die mich darauf gebracht haben welche Pfade gesetzt werden müssen.

Danke nochmal an alle.