[Gelöst]: Meldung "XML functions are not available"

Begonnen von Desedo, 19 Juli 2019, 13:25:53

Vorheriges Thema - Nächstes Thema

Desedo

Hallo zusammen,

habe derzeit die Situation, dass zu verschiedenen Devices mehrere zig-Mal im Log erscheinen. Dies scheint mit einem XML-Problem zusammenzuhängen. Zu einem Device habe ich mal einen Auszug aus dem Log-File nach einem "shutdown restart" eingefügt:

2019.07.19 12:40:32 2: EnOcean XML functions are not available.

2019.07.19 12:40:34 2: EnOcean Rollo_OG_Arbeit_links XML functions are not available

2019.07.19 12:40:53 1: Rollladen OG-links unverändert
2019.07.19 12:40:53 1: Rollladen OG-links unverändert
2019.07.19 12:40:53 1: Rollladen OG-links unverändert
2019.07.19 12:40:53 1: Rollladen OG-links unverändert
2019.07.19 12:40:53 1: Rollladen OG-links unverändert


Die Meldungen "2019.07.19 12:40:53 1: Rollladen OG-links unverändert" kommen allerdings etwa 700 Mal.

Habe zwischenzeitlich sowohl den Raspi als auch FHEM aktualisiert. Die Meldungen bleiben erhalten.

Was kann hier die Ursache sein bzw. wie kann ich das abstellen / beheben?

Beste Grüße,

Desedo

krikan

Zitat von: Desedo am 19 Juli 2019, 13:25:53
2019.07.19 12:40:32 2: EnOcean XML functions are not available.
2019.07.19 12:40:34 2: EnOcean Rollo_OG_Arbeit_links XML functions are not available
siehe zur Abhilfe auf Raspian https://forum.fhem.de/index.php/topic,101891.msg953853.html#msg953853

Zitat2019.07.19 12:40:53 1: Rollladen OG-links unverändert
2019.07.19 12:40:53 1: Rollladen OG-links unverändert
2019.07.19 12:40:53 1: Rollladen OG-links unverändert
"<device>" unverändert wird mWn nicht von 10_EnOcean.pm, dem EnOcean-Modul, automatisch in der Standardkonfiguration erzeugt. Daher keine Idee durch welches Modul, Attributwert oder Code von notify/Doif/.. die Meldung erzeugt wird.

Gruß, Christian

Desedo

Hallo Krikan,

bevor ich Raspi und FHEM aktualisiert habe, habe ich die "libxml" installiert, was jedoch keine Abhilfe gebracht hat.

Die Meldung "<device> unverändert" kommt von einem von mir eingerichteten "AT". Sowas habe ich für verschiedene Devices eingerichtet, um z.B. Beschattung abhängig von der Temperatur bzw. Sonne zu steuern.
Mich irritiert, dass diese Meldung innerhalb von 2-3 Sekunden etwa 700 Mal erscheint, auch für die anderen Devices und auch bei jedem folgenden Aufruf. Bei einigen Devices wird der AT jede Stunde angestossen.

Beste Grüße,

Desedo

krikan

Zitat von: Desedo am 19 Juli 2019, 14:59:06
bevor ich Raspi und FHEM aktualisiert habe, habe ich die "libxml" installiert, was jedoch keine Abhilfe gebracht hat.
Die Meldung "EnOcean XML functions are not available." wird durch das EnoCean-Modul geloggt, wenn Perl XML::Simple nicht findet. Das trifft eben bei Deiner Installation zu. Also würde ich noch einmal das Paket installieren ggfs. über cpan. Vielleicht ist beim update des Raspi eine neue Perl-Version installiert worden und XML::Simple ist dabei auf der Strecke geblieben...

@klaus.schauer:
Falls Du es noch nicht kennst: auf https://metacpan.org/pod/XML::Simple#SYNOPSIS gibt es einen Hinweis zur Verwendung des Moduls

ZitatDie Meldung "<device> unverändert" kommt von einem von mir eingerichteten "AT". Sowas habe ich für verschiedene Devices eingerichtet, um z.B. Beschattung abhängig von der Temperatur bzw. Sonne zu steuern.
Mich irritiert, dass diese Meldung innerhalb von 2-3 Sekunden etwa 700 Mal erscheint, auch für die anderen Devices und auch bei jedem folgenden Aufruf. Bei einigen Devices wird der AT jede Stunde angestossen.
Würde mich auch irritieren. Ausgehend vom at müsstest Du analysieren, wodurch die Meldung genau erzeugt wird; getippt eben vom at.

Gruß, Christian

Desedo

Hallo Krikan,

habe die Installation per CPAN durchgeführt. Da ich nicht "so der Unix-Typ" bin, muss ich hier passen.
Es scheint aber ein Problem mit "XML::Parser" und "XML::SAX::Expat" zu geben.

cpan[1]> install XML::Simple
Reading '/home/pi/.cpan/Metadata'
  Database was generated on Fri, 19 Jul 2019 16:41:03 GMT
Running install for module 'XML::Simple'
Checksum for /home/pi/.cpan/sources/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz ok
Scanning cache /home/pi/.cpan/build for sizes
............................................................................DONE
'YAML' not installed, will not store persistent state
Configuring G/GR/GRANTM/XML-Simple-2.25.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite XML::SAX::Expat 0 not found.
Generating a Unix-style Makefile
Writing Makefile for XML::Simple
Writing MYMETA.yml and MYMETA.json
  GRANTM/XML-Simple-2.25.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for G/GR/GRANTM/XML-Simple-2.25.tar.gz
---- Unsatisfied dependencies detected during ----
----       GRANTM/XML-Simple-2.25.tar.gz      ----
    XML::SAX::Expat [requires]
Running install for module 'XML::SAX::Expat'
Checksum for /home/pi/.cpan/sources/authors/id/B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz ok
Configuring B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite XML::Parser 2.27 not found.
Generating a Unix-style Makefile
Writing Makefile for XML::SAX::Expat
Writing MYMETA.yml and MYMETA.json
  BJOERN/XML-SAX-Expat-0.51.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz
---- Unsatisfied dependencies detected during ----
----     BJOERN/XML-SAX-Expat-0.51.tar.gz     ----
    XML::Parser [requires]
Running install for module 'XML::Parser'
Checksum for /home/pi/.cpan/sources/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz ok
Configuring T/TO/TODDR/XML-Parser-2.44.tar.gz with Makefile.PL

Expat must be installed prior to building XML::Parser and I can't find
it in the standard library directories. Install 'expat-devel' (or
'libexpat1-dev') package with your OS package manager. See 'README'.

Or you can download expat from:

http://sourceforge.net/projects/expat/

If expat is installed, but in a non-standard directory, then use the
following options to Makefile.PL:

    EXPATLIBPATH=...  To set the directory in which to find libexpat

    EXPATINCPATH=...  To set the directory in which to find expat.h

For example:

    perl Makefile.PL EXPATLIBPATH=/home/me/lib EXPATINCPATH=/home/me/include

Note that if you build against a shareable library in a non-standard location
you may (on some platforms) also have to set your LD_LIBRARY_PATH environment
variable at run time for perl to find the library.

Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for XML::Parser::Expat
Writing MYMETA.yml and MYMETA.json
Generating a Unix-style Makefile
Writing Makefile for XML::Parser
Writing MYMETA.yml and MYMETA.json
  TODDR/XML-Parser-2.44.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for T/TO/TODDR/XML-Parser-2.44.tar.gz
cp Parser/Encodings/iso-8859-5.enc blib/lib/XML/Parser/Encodings/iso-8859-5.enc
cp Parser/Encodings/iso-8859-3.enc blib/lib/XML/Parser/Encodings/iso-8859-3.enc
cp Parser/Encodings/iso-8859-4.enc blib/lib/XML/Parser/Encodings/iso-8859-4.enc
cp Parser/Encodings/x-sjis-cp932.enc blib/lib/XML/Parser/Encodings/x-sjis-cp932.enc
cp Parser/Style/Tree.pm blib/lib/XML/Parser/Style/Tree.pm
cp Parser/Encodings/windows-1251.enc blib/lib/XML/Parser/Encodings/windows-1251.enc
cp Parser/Style/Subs.pm blib/lib/XML/Parser/Style/Subs.pm
cp Parser/Encodings/big5.enc blib/lib/XML/Parser/Encodings/big5.enc
cp Parser/Encodings/koi8-r.enc blib/lib/XML/Parser/Encodings/koi8-r.enc
cp Parser/Style/Debug.pm blib/lib/XML/Parser/Style/Debug.pm
cp Parser/Encodings/iso-8859-8.enc blib/lib/XML/Parser/Encodings/iso-8859-8.enc
cp Parser/Encodings/windows-1255.enc blib/lib/XML/Parser/Encodings/windows-1255.enc
cp Parser/Style/Stream.pm blib/lib/XML/Parser/Style/Stream.pm
cp Parser/Encodings/Japanese_Encodings.msg blib/lib/XML/Parser/Encodings/Japanese_Encodings.msg
cp Parser/Style/Objects.pm blib/lib/XML/Parser/Style/Objects.pm
cp Parser/Encodings/iso-8859-2.enc blib/lib/XML/Parser/Encodings/iso-8859-2.enc
cp Parser/Encodings/iso-8859-7.enc blib/lib/XML/Parser/Encodings/iso-8859-7.enc
cp Parser/Encodings/x-sjis-jdk117.enc blib/lib/XML/Parser/Encodings/x-sjis-jdk117.enc
cp Parser/Encodings/x-sjis-unicode.enc blib/lib/XML/Parser/Encodings/x-sjis-unicode.enc
cp Parser/LWPExternEnt.pl blib/lib/XML/Parser/LWPExternEnt.pl
cp Parser/Encodings/x-sjis-jisx0221.enc blib/lib/XML/Parser/Encodings/x-sjis-jisx0221.enc
cp Parser/Encodings/x-euc-jp-unicode.enc blib/lib/XML/Parser/Encodings/x-euc-jp-unicode.enc
cp Parser/Encodings/windows-1250.enc blib/lib/XML/Parser/Encodings/windows-1250.enc
cp Parser/Encodings/x-euc-jp-jisx0221.enc blib/lib/XML/Parser/Encodings/x-euc-jp-jisx0221.enc
cp Parser/Encodings/euc-kr.enc blib/lib/XML/Parser/Encodings/euc-kr.enc
cp Parser/Encodings/README blib/lib/XML/Parser/Encodings/README
cp Parser/Encodings/iso-8859-9.enc blib/lib/XML/Parser/Encodings/iso-8859-9.enc
cp Parser/Encodings/windows-1252.enc blib/lib/XML/Parser/Encodings/windows-1252.enc
cp Parser.pm blib/lib/XML/Parser.pm
cp Parser/Encodings/ibm866.enc blib/lib/XML/Parser/Encodings/ibm866.enc
make[1]: Entering directory '/home/pi/.cpan/build/XML-Parser-2.44-NpYumK/Expat'
cp Expat.pm ../blib/lib/XML/Parser/Expat.pm
Running Mkbootstrap for XML::Parser::Expat ()
chmod 644 Expat.bs
/usr/bin/perl /usr/share/perl/5.20.2/ExtUtils/xsubpp -noprototypes -typemap /usr/share/perl/5.20/ExtUtils/typemap -typemap typemap  Expat.xs > Expat.xsc && mv Expat.xsc Expat.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.44\" -DXS_VERSION=\"2.44\" -fPIC "-I/usr/lib/arm-linux-gnueabihf/perl/5.20/CORE"   Expat.c
/usr/lib/gcc/arm-linux-gnueabihf/4.9/cc1: /usr/lib/gcc/arm-linux-gnueabihf/4.9/cc1: no version information available (required by /usr/lib/arm-linux-gnueabihf/libmpfr.so.4)
Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed!
Makefile:317: recipe for target 'Expat.o' failed
make[1]: *** [Expat.o] Error 1
make[1]: Leaving directory '/home/pi/.cpan/build/XML-Parser-2.44-NpYumK/Expat'
Makefile:592: recipe for target 'subdirs' failed
make: *** [subdirs] Error 2
  TODDR/XML-Parser-2.44.tar.gz
  /usr/bin/make -- NOT OK
  BJOERN/XML-SAX-Expat-0.51.tar.gz
  Has already been unwrapped into directory /home/pi/.cpan/build/XML-SAX-Expat-0.51-Yoal8b
  BJOERN/XML-SAX-Expat-0.51.tar.gz
  Has already been prepared
Running make for B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz
Warning: Prerequisite 'XML::Parser => 2.27' for 'BJOERN/XML-SAX-Expat-0.51.tar.gz' failed when processing 'TODDR/XML-Parser-2.44.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
cp Expat.pm blib/lib/XML/SAX/Expat.pm
Manifying blib/man3/XML::SAX::Expat.3pm
  BJOERN/XML-SAX-Expat-0.51.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00basic.t ... Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /home/pi/.cpan/build/XML-SAX-Expat-0.51-Yoal8b/blib/lib /home/pi/.cpan/build/XML-SAX-Expat-0.51-Yoal8b/blib/arch /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /home/pi/.cpan/build/XML-SAX-Expat-0.51-Yoal8b/blib/lib/XML/SAX/Expat.pm line 11.
BEGIN failed--compilation aborted at /home/pi/.cpan/build/XML-SAX-Expat-0.51-Yoal8b/blib/lib/XML/SAX/Expat.pm line 11.
Compilation failed in require at t/00basic.t line 3.
BEGIN failed--compilation aborted at t/00basic.t line 3.
t/00basic.t ... Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/1 subtests
t/98podsyn.t .. skipped: Test::Pod 1.00 required for testing POD
t/99podcov.t .. skipped: Test::Pod::Coverage required for testing pod coverage

Test Summary Report
-------------------
t/00basic.t (Wstat: 512 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 2
Files=3, Tests=1,  2 wallclock secs ( 0.28 usr  0.05 sys +  0.77 cusr  0.06 csys =  1.16 CPU)
Result: FAIL
Failed 1/3 test programs. 1/1 subtests failed.
Makefile:829: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255
  BJOERN/XML-SAX-Expat-0.51.tar.gz
one dependency not OK (XML::Parser); additionally test harness failed
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports BJOERN/XML-SAX-Expat-0.51.tar.gz
  GRANTM/XML-Simple-2.25.tar.gz
  Has already been unwrapped into directory /home/pi/.cpan/build/XML-Simple-2.25-FzqyUE
  GRANTM/XML-Simple-2.25.tar.gz
  Has already been prepared
Running make for G/GR/GRANTM/XML-Simple-2.25.tar.gz
Warning: Prerequisite 'XML::SAX::Expat => 0' for 'GRANTM/XML-Simple-2.25.tar.gz' failed when processing 'BJOERN/XML-SAX-Expat-0.51.tar.gz' with 'make_test => NO one dependency not OK (XML::Parser); additionally test harness failed'. Continuing, but chances to succeed are limited.
cp lib/XML/Simple/FAQ.pod blib/lib/XML/Simple/FAQ.pod
cp lib/XML/Simple.pm blib/lib/XML/Simple.pm
Manifying blib/man3/XML::Simple.3pm
Manifying blib/man3/XML::Simple::FAQ.3pm
  GRANTM/XML-Simple-2.25.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# Package                        Version
#  perl                           5.20.2
#  XML::Simple                    2.25
#  Storable                       2.49_01
#  XML::Parser                    Not Installed
#  XML::SAX                       1.02
#  XML::NamespaceSupport          1.12
#  XML::SAX::PurePerl             1.02 (default parser)
t/0_Config.t ............. ok
t/1_XMLin.t .............. ok
t/2_XMLout.t ............. ok
t/3_Storable.t ........... ok
t/4_MemShare.t ........... ok
t/5_MemCopy.t ............ ok
t/6_ObjIntf.t ............ ok
t/7_SaxStuff.t ........... ok
t/8_Namespaces.t ......... ok
t/9_Strict.t ............. ok
t/A_XMLParser.t .......... skipped: no XML::Parser
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/B_Hooks.t .............. ok
t/C_External_Entities.t .. skipped: no XML::Parser
All tests successful.
Files=14, Tests=487, 36 wallclock secs ( 0.90 usr  0.11 sys + 24.93 cusr  0.70 csys = 26.64 CPU)
Result: PASS
  GRANTM/XML-Simple-2.25.tar.gz
Tests succeeded but one dependency not OK (XML::SAX::Expat)
  GRANTM/XML-Simple-2.25.tar.gz
  [dependencies] -- NA
Failed during this command:
TODDR/XML-Parser-2.44.tar.gz                 : make NO
BJOERN/XML-SAX-Expat-0.51.tar.gz             : make_test NO one dependency not OK (XML::Parser); additionally test harness failed
GRANTM/XML-Simple-2.25.tar.gz                : make_test NO one dependency not OK (XML::SAX::Expat)

cpan[2]>


Was kann / muss ich nun machen?

Besten Dank für Unterstützung und beste Grüße,

Desedo

krikan

Zitat von: Desedo am 19 Juli 2019, 20:03:39
Da ich nicht "so der Unix-Typ" bin, muss ich hier passen.
Da bist Du bei mir auch falsch.  :)
Wenn das debian-package nicht funktioniert (beste Variante) und Du cpan nutzt, dann kann ich auch nur stumpf das Log übersetzen/analysieren und entsprechend der darin enthalten Anweisungen handeln.

Gruß, Christian

Desedo

Hallo Krikan,

zwischenzeitlich habe ich in den CPAN-Beiträgen "ein bisschen" gelesen und einen Hinweis auf XML::LibXML gefunden und dieses Paket installiert. Das hat aber auch keinen Erfolg gebracht  >:(.
Gestern Abend habe ich dann nochmal das XML::Simple Paket installiert und die Installation ist dann erfolgreich durchgelaufen. Ich habe zwar keine Idee, warum das jetzt funktioniert, aber zumindest die Fehlermeldung ist jetzt weg.

Die hundertfachen Meldungen sind zwar immer noch da, aber ich hebe eine Idee zu der Ursache (und brauche auch da Unterstützung). Dazu mache ich aber eine neue Anfrage auf, da es nichts mit XML zu tun hat (glaude ich).

Nochmal besten Dank für die Unterstützung.

Beste Grüße,

Desedo