FHEM Forum

FHEM - Hardware => Network Attached Storage (NAS) => Thema gestartet von: Sargon am 05 September 2017, 22:04:10

Titel: Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 05 September 2017, 22:04:10
Hallo zusammen,

ich bekomme es nicht hin das meine Fhem nach Neuinstallation von Perl startet.

Ich glaube ich habe alle anderen Perl Version von meiner Synology 212+ entfernt.

Wenn ich unter Putty perl -V aufrufe bekomme ich das angezeigt:


Summary of my perl5 (revision 5 version 24 subversion 1) configuration:

  Platform:
    osname=linux, osvers=2.6.36, archname=arm-linux-glibc
    uname='Linux OpenWrt 2.6.36 #1 SMP Thu Jan 1 12:00:00 CEST 2015 arm GNU/Linux'
    config_args='-der -Dusethreads'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='arm-openwrt-linux-gnueabi-gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -pipe -march=armv5te -mtune=xscale -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -I/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/include -I/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/include -I/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/usr/include -I/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/include',
    optimize='-O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -O2 -pipe -march=armv5te -mtune=xscale -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -I/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/include -I/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/include -I/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/usr/include -I/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/include'
    ccversion='', gccversion='6.3.0', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8, longdblkind=0
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='arm-openwrt-linux-gnueabi-gcc', ldflags ='-rdynamic -L/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/lib -L/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link=/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/usr/lib -L/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/lib -L/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/lib'
    libpth=/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/lib /media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/lib
    libs=-lpthread -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc
    libc=, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-fPIC -Wl,-rpath,/opt/lib/perl5/5.24/CORE:/opt/lib'
    cccdlflags='-fPIC', lddlflags='-shared -rdynamic -L/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/lib -L/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link=/media/ware4/Entware-ng.2017.05/staging_dir/target-arm_xscale_glibc-2.23_eabi/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/usr/lib -L/media/ware4/Entware-ng.2017.05/staging_dir/toolchain-arm_xscale_gcc-6.3.0_glibc-2.23_eabi/lib'


Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
                        PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
                        PERL_PRESERVE_IVUV USE_ITHREADS USE_LARGE_FILES
                        USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                        USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO
                        USE_PERL_ATOF USE_REENTRANT_API
  Built under linux
  Compiled at May 30 2017 19:19:30
  @INC:
    /opt/lib/perl5/5.24


Ich habe hier fhem.sh gefunden unter: /usr/local/FHEM/app/scripts und /volume1/@appstore/FHEM/app/scripts
wobei das die gleiche sein dürfte.
Hier der Inhalt der fhem.sh

#!/bin/sh
#
#
HOME=/usr/local/FHEM
#PERL=/usr/local/perl
PERL=/opt/bin/perl5.24.1
#PERL=/opt/
KMOD=/var/packages/usb-driver-kernel
PATH=$HOME:$PERL:$PATH
export PATH

fhem_BIN=${HOME}/bin/fhem.pl
test -x ${fhem_BIN} || { echo "${fhem_BIN} not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }

# Check for existence of needed config file and read it
fhem_CONFIG=${HOME}/etc/fhem.cfg
test -r ${fhem_CONFIG} || { echo "${fhem_CONFIG} not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }

fhem_LOG=${HOME}/var/log/fhem-`date +"%Y-%m"`.log

perl_BIN=${PERL}/bin/perl
if [ -x ${perl_BIN} ]; then
export PERL5LIB="${PERL}/lib/5.16.0:${PERL}/lib/site_perl/5.16.0"
else
perl_BIN=`which perl`
fi

#
case "$1" in
start)
echo "Starting fhem "
if [ -d "${KMOD}" ]; then
if [ ! -f "${KMOD}/enabled" ]; then
${KMOD}/scripts/start-stop-status start
touch ${KMOD}/enabled && chmod 775 ${KMOD}/enabled
fi
fi

${perl_BIN} $fhem_BIN $fhem_CONFIG
;;
stop)
echo "Shutting down fhem "
${perl_BIN} $fhem_BIN 7072 shutdown
;;
restart)
$0 stop
$0 start
;;
status)
echo -n "Checking for service fhem "
ps|grep fhem.pl
;;
log)
test -r $fhem_LOG || { echo "$fhem_LOG not existing"; exit 0; }
echo $fhem_LOG
;;
*)
echo "Usage: $0 {start|stop|status|restart|log}"
exit 1
;;
esac
exit 0


Ich denke das der Pfad zum Perl falsch ist? Was muss ich hier setzen?

Danke für die Hilfe!!
Thomas

Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: amenomade am 06 September 2017, 02:13:06
https://forum.fhem.de/index.php?topic=60644.0
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 16 September 2017, 19:26:59
Hallo zusammen,

das hat mir leider nicht geholfen.
Ich kann per Konsole über das Startskript Fhem starten das klappt ohne Problem. Aber ich bekomme es nicht hin das beim Start der Synology NAS Fhem gestartet wird. Ich habe hier auch keine Log Ausgaben dazu gefunden. Ich denke ich habe die alte Version des Fischer Fhem Paketes mein Startskript liegt unter /usr/local/FHEM/app/scripts . Muss ich es noch wo anders hin kopieren? Ich habe auch kein anderes gefunden.

Ich hab auch noch einen anderen Fehler der vielleicht etwas damit zu tun hat:
Ich verwende eine Shell Script um eMails zu versenden und nach der neu Installation von Perl bekomme ich die Meldung das Perl nicht gefunden wird wenn das Skript versendet werden soll.
/usr/local/sendemail/fhem2mail: /usr/local/sendemail/sendEmail: /usr/local/perl/bin/perl: bad interpreter: No such file or directory
Ich habe nicht gefunden wo ich in Fhem oder auch im Sendmail Skript einen Pfad zu Perl gesetzt habe, somit habe ich keine Ahnung wo der herkommt. 
Ich habe den Pfad in der /etc/Profil folgender Maßen gesetzt: PATH=/opt/bin:opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin

Hier die Ausgabe zu Feminfo:
System Info

ConfigType: configFile

SVN rev: 15031

OS: linux

Perl: 5.24.1

Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: amenomade am 16 September 2017, 21:48:26
Was hast Du in /usr/local/FHEM/etc/fhem.sh ?

Edit: vielleicht hilft das dann? https://forum.fhem.de/index.php/topic,56207.msg497326.html#msg497326
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 17 September 2017, 19:41:56
Hallo amenomade,

mein Startskript sieht so aus:

#!/bin/sh
#
#
HOME=/usr/local/FHEM
#PERL=/usr/local/perl
#PERL=/opt/lib/perl5/5.24
Perl=/opt/bin/perl
#PERL=/opt/
KMOD=/var/packages/usb-driver-kernel
PATH=$HOME:$PERL:$PATH
export PATH

fhem_BIN=${HOME}/bin/fhem.pl
test -x ${fhem_BIN} || { echo "${fhem_BIN} not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }

# Check for existence of needed config file and read it
fhem_CONFIG=${HOME}/etc/fhem.cfg
test -r ${fhem_CONFIG} || { echo "${fhem_CONFIG} not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }

fhem_LOG=${HOME}/var/log/fhem-`date +"%Y-%m"`.log

perl_BIN=${PERL}/bin/perl
if [ -x ${perl_BIN} ]; then
export PERL5LIB="${PERL}/lib/5.16.0:${PERL}/lib/site_perl/5.16.0"
else
perl_BIN=`which perl`
fi

#
case "$1" in
start)
echo "Starting fhem "
if [ -d "${KMOD}" ]; then
if [ ! -f "${KMOD}/enabled" ]; then
${KMOD}/scripts/start-stop-status start
touch ${KMOD}/enabled && chmod 775 ${KMOD}/enabled
fi
fi

${perl_BIN} $fhem_BIN $fhem_CONFIG
;;
stop)
echo "Shutting down fhem "
${perl_BIN} $fhem_BIN 7072 shutdown
;;
restart)
$0 stop
$0 start
;;
status)
echo -n "Checking for service fhem "
ps|grep fhem.pl
;;
log)
test -r $fhem_LOG || { echo "$fhem_LOG not existing"; exit 0; }
echo $fhem_LOG
;;
*)
echo "Usage: $0 {start|stop|status|restart|log}"
exit 1
;;
esac
exit 0


In dem Skript wird der Perl Pfad gesetzt. Ist der falsch? Ich habe meinen Opt Ordner mit den Perl Dateien angehangen.

Gruß und Danke für die Hilfe
Thomas
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: amenomade am 17 September 2017, 19:59:29
ZitatIst der falsch?
Vom Ziel des symbolischen Link "perl" in /opt/bin abhängig.

In dem Startskript würde ich auf jeden Fall "PERL=" (gross) statt "Perl=" schreiben.
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 17 September 2017, 20:33:27
Ich habe Perl nach folgender Anleitung installiert: https://github.com/Entware-ng/Entware-ng/wiki/Install-on-Synology-NAS

Und starte nun mein Opt indem ich Opt mounte
Muss ich hier noch was machen? Wie gesagt wenn ich das Startskript direkt von Konsole aus starte funktioniert alles

Hier noch der Symlink als Anhang
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: amenomade am 17 September 2017, 21:46:48
Hast Du den Skript geändert? (PERL=)
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 17 September 2017, 21:53:59
Ja hab ich, hat aber leider nichts geholfen
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: amenomade am 17 September 2017, 22:24:02
Was steht in /var/log/messages?
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 18 September 2017, 07:30:44
Nichts

Er kommt gar nicht da hin aber beim Start in der NAS Oberfläche rödelt er rum und dann steht da das es läuft. Ich finde aber auch kein 2tes Startskript
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: amenomade am 18 September 2017, 12:01:27
Gibt es gar keine Log in /var/log ?
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 18 September 2017, 12:36:50
Nur die wenn ich über die Konsole starte aber nicht wenn ich über die NAS starte
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: amenomade am 18 September 2017, 14:49:27
Vermutlich wird dein Skript dann gar nicht aufgerufen.
Was meinst Du genau mit "wenn ich über die NAS starte" ? Befehle oder Bildschirmkopien.
Titel: Antw:Fhem startet nicht mehr nach Installation von Entware-ng perl 5.24.1
Beitrag von: Sargon am 18 September 2017, 22:27:40
Hallo,

ich meine zum einen das Paketzentrum in dem man ja auch das Paket manuell starten/stoppen kann, was aber nicht funktioniert. Zudem habe ich eine Aufgabe angelegt die auch das Startskript ausführen soll aber das funktioniert auch nicht.
Ja ich denke auch das mindestens das Paketzentrum das Startskript nicht findet. Aber zumindest die Aufgabe sollte doch ausgeführt werden, es wird hier aber auch keine eMail an meine Adresse verschickt und auch keine Fehler angezeigt oder ausgegeben.

Gruß
Thomas