Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli

Begonnen von Adimarantis, 31 Januar 2021, 19:16:19

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo Jörg,

ich hatte SiSi installiert, das aber nach einem simplen Neustart des Servers nicht mehr funktionierte. Ich hatte daraufhin alles, was mit SiSi zu hat, deinstalliert. Im Wiki hatte ich gelesen, dass SiSi nicht mehr weiterentwickelt wird, so habe ich mich etwas später entschlossen, dein Modul Signalbot zu installieren, und zwar mit sudo -E ./signal_install.sh.

Mein Server:
Your configuration
Linux HPT610 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux
has not been tested, continue at own risk


Die Installation lief auch im wesentlichen durch bis auf 2 Besonderheiten:
- ich hatte meine bei der Installation von SiSi registrierte Festnetznummer angegeben, sowohl in der Installationdatei, als auch bei der Abfrage in der Installation
- das zweite ist folgender Text, der während der Installation gezeigt wurde:

...
Stopping signal-cli service
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
No input data.
Reading account data
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
done
Please enter the number (+49...) of somebody that you can send a test message to
Number:+49MeineMobilnummer
Sending a message from command line to +49MeineMobilnummer
Stopping signal-cli service
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
Sending a message via dbus-send command
Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Sending a message via perl Protocol::DBus
Error getting message
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM


Ein list meines Devices:
Internals:
   CFGFN     
   FD         23
   FUUID      60983278-f33f-e986-bab0-35aae0950916cc12
   NAME       Signal
   NOTIFYDEV  global
   NR         1232
   NTFY_ORDER 50-Signal
   STATE      Connected
   TYPE       Signalbot
   READINGS:
     2021-05-09 21:26:21   lastError       Error in sendMessage:Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
     2021-05-09 21:25:56   sentMsg         Hallo, hier ist Fhem.
     2021-05-09 21:25:56   sentMsgTimestamp pending
   helper:
     init       :1.13
     signalpath /org/asamk/Signal
     attachments:
     bm:
       Signalbot_Attr:
         cnt        4
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:06:15
         max        0.000128030776977539
         tot        0.000437021255493164
         mAr:
           set
           Signal
           group
           Push
       Signalbot_Define:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:05:28
         max        0.068789005279541
         tot        0.068789005279541
         mAr:
           HASH(0x559d1337dc20)
           Signal Signalbot
       Signalbot_Get:
         cnt        13
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:05:57
         max        6.00814819335938e-05
         tot        0.000626087188720703
         mAr:
           HASH(0x559d1337dc20)
           Signal
           ?
       Signalbot_Notify:
         cnt        10
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:05:36
         max        7.70092010498047e-05
         tot        0.00048518180847168
         mAr:
           HASH(0x559d1337dc20)
           HASH(0x559d0774ae98)
       Signalbot_Read:
         cnt        9
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:10:05
         max        0.107939004898071
         tot        0.559039354324341
         mAr:
           HASH(0x559d1337dc20)
       Signalbot_Set:
         cnt        40
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:25:03
         max        0.0134880542755127
         tot        0.0284733772277832
         mAr:
           HASH(0x559d1337dc20)
           Signal
           reinit
Attributes:
   defaultPeer +49MeineMobilnummer
   group      Push
   icon       im_bullhorn
   verbose    5


signal.service scheint nicht zu laufen, er lässt sich auch nicht starten:
pi@HPT610:/opt/fhem/FHEM$ sudo systemctl status signal.service
● signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2021-05-09 21:25:56 CEST; 3min 26s ago
  Process: 28276 ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli -u +492143103913 daemon --system (code=exited, status=1/FAILURE)
Main PID: 28276 (code=exited, status=1/FAILURE)

May 09 21:25:56 HPT610 signal-cli[28276]:         at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.security.AccessController.doPrivileged(Native Method)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
May 09 21:25:56 HPT610 signal-cli[28276]:         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
May 09 21:25:56 HPT610 signal-cli[28276]:         at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
May 09 21:25:56 HPT610 systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
May 09 21:25:56 HPT610 systemd[1]: signal.service: Failed with result 'exit-code'.
May 09 21:25:56 HPT610 systemd[1]: Failed to start Send secure messages to Signal clients.
pi@HPT610:/opt/fhem/FHEM$ sudo systemctl start signal.service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
pi@HPT610:/opt/fhem/FHEM$


Hast du eine Idee, was hier schief gelaufen ist, und was ich tun müsste, um es zum Laufen zu bringen?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Gisbert

Hallo Jörg,

mein Problem scheint wohl mit Java 8 und 11 zusammenzuhängen.
Meine Unifi-Installation bzw. der Unifi-Controller für mein Netzwerk verlangt nach Java 8, signal-cli verlangt nach Java 11.

Ich hab Java 11 installiert:
sudo apt install default-jre

Diese Java-Versionen scheine ich auf meinem Server zu haben:
pi@HPT610:~$ dpkg -l | grep "oracle\|openjdk"
ii  openjdk-11-jre:amd64                 11.0.11+9-1~deb10u1                  amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-11-jre-headless:amd64        11.0.11+9-1~deb10u1                  amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-8-jre-headless:amd64         8u232-b09-1~deb9u1                   amd64        OpenJDK Java runtime, using Hotspot JIT (headless)


java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-1~deb9u1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)


Es ändert aber nichts an der Tatsache, dass ich diese Fehlermeldung bekomme, da offensichtlich Java 8 anstelle von 11 genommen wird:
Stopping signal-cli service
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0


Hast du eine Idee, wie ich hier vorgehen kann?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Adimarantis

Hi Gisbert,

Check mal die Reihenfolge in deiner $PATH, was zuerst kommt wird genommen.
Du könntest auch die richtige Version im Startscript unter /opt/signal/bin hardcoden (mit absolutem Pfad)

Jörh
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Gisbert

Hallo Jörg,

ich bekomme das bei $PATH:
pi@HPT610:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
pi@HPT610:~$

Kannst damit was anfangen?

/opt/signal/bin hardcoden (mit absolutem Pfad):
Gerne, dann benötige ich aber konkrete Vorgaben, da ich weder Linux noch Perl gut genug kann. Gleiches gilt für $PATH.

Viele Grüße​ Gisbert​

Edit:
Ich hab den Pfad /opt/signal/bin vorne in PATH eingetragen und dann versucht signal.service zu starten, was aber nicht gelang.

Edit2:
$JAVA_HOME, welches in signal-cli steht, liefert das:
pi@HPT610:/opt/signal/bin$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/jre/
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Adimarantis

Hi Gisbert,

so sollte es aussehen:

pi@raspi400:~ $ which java
/usr/bin/java
pi@raspi400:~ $ java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Raspbian-1deb10u2)
OpenJDK Server VM (build 11.0.9.1+1-post-Raspbian-1deb10u2, mixed mode)


Mein $JAVA_HOME ist leer, dadurch dass deins aber gesetzt ist, nimmt er die entsprechende Version dort.
sofern
/usr/bin/java -version
bei dir die richtige Version ausgibt, sollte es reichen die $JAVA_HOME nicht zu setzen - wo auch immer das bei dir passiert (.bashrc) oder zumindest im .bashrc vom signal-cli Benutzer zu überschreiben (export JAVA_HOME=)

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Gisbert

Hallo Jörg,

ich kann das liefern:
pi@HPT610:/opt/signal/bin$ which java
/usr/bin/java
pi@HPT610:/opt/signal/bin$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-1~deb9u1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
pi@HPT610:/opt/signal/bin$


sowie:
echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/jre/

dpkg -l | grep "oracle\|openjdk" liefert:
ii openjdk-11-jre:amd64 11.0.11+9-1~deb10u1 amd64 OpenJDK Java runtime, using Hotspot JIT
ii openjdk-11-jre-headless:amd64 11.0.11+9-1~deb10u1 amd64 OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-8-jre-headless:amd64 8u232-b09-1~deb9u1 amd64 OpenJDK Java runtime, using Hotspot JIT (headless)


Damit kommt Signal - wie vermutet - nicht zurecht.
Womit wir beim zweiten Teil deines letzten Satzes sind, den ich aber ohne Hilfe nicht umsetzen kann.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Adimarantis

Dann hat sich Java8 wohl als dein primäres Java eingenistet.
Dein System via Forum remote zu debuggen ist jetzt wirklich mühsam. Ein letzter Tipp - sonst suche dir bitte Hilfe von einem Linux Admin, denn das alles hat mit Signal nicht wirklich etwas zu tun.

Ich denke, dass du signal-cli dazu bringen kannst, die korrekte Java Version zu verwenden, indem du $JAVA_HOME vor dem Aufruf auf das Verzeichnis von Java11 setzt.
Den genauen Pfad bei dir kenne ich jetzt nicht, aber wahrscheinlich sowas wie
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
Testen kannst du das dann erst mal mit dem Install Script (mit der "test" option"), musst bei Erfolg aber diese Zeile auch ins .bashrc des signal-cli users einfügen.

Gruß,
Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Gisbert

Zitat von: Adimarantis am 13 Mai 2021, 09:15:06
Dann hat sich Java8 wohl als dein primäres Java eingenistet.
Dein System via Forum remote zu debuggen ist jetzt wirklich mühsam. Ein letzter Tipp - sonst suche dir bitte Hilfe von einem Linux Admin, denn das alles hat mit Signal nicht wirklich etwas zu tun.

Ich denke, dass du signal-cli dazu bringen kannst, die korrekte Java Version zu verwenden, indem du $JAVA_HOME vor dem Aufruf auf das Verzeichnis von Java11 setzt.
Den genauen Pfad bei dir kenne ich jetzt nicht, aber wahrscheinlich sowas wie
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
Testen kannst du das dann erst mal mit dem Install Script (mit der "test" option"), musst bei Erfolg aber diese Zeile auch ins .bashrc des signal-cli users einfügen.

Hallo Jörg,

es ist aber auch zu verflixt, auch diese Möglichkeit wird mit immer dem gleichen Fehler quittiert. Ich habe auch noch andere Ratschläge ausprobiert - nichts führt zum Erfolg.
Ich wundere mich nur, dass ich anscheinend der einzige (lebende) Anwender bin, der gleichzeitig einen UniFi-Controller und Signal auf einem Server unter Debian10 installiert hat bzw. es möchte.

Trotzdem vielen Dank.
Ich gebe nur zwischenzeitlich auf, denn Aufgeben ist ja bekanntlich keine Option.
Viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Gisbert

Hallo Jörg,
hallo zusammen,

vielleicht interessiert euch die Lösung, wenn man unbedingt wegen des UniFi-Controllers Java 8 behalten muss.

Die Lösung war, dass ich es irgendwie geschafft habe, den Standard bei Java von 8 auf 11 zu ändern.
Informationen gibt es dazu in dieser Datei:
/usr/lib/jvm/java-11-openjdk-amd64/docs/README.alternatives

Wenn man den folgenden Befehl ausgeführt hat, dann ist Java 11 die primäre Installation von Java.
sudo update-java-alternatives --auto

java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)


Dannach war es ein Kinderspiel, die Signalbot-Installation durchzuführen.

UniFi benutzt nach wie vor noch Java 8, das ist anscheinend dort hart verlinkt, was ja auch Sinn macht, wenn UniFi nur mit Java 8 funktioniert.
Ich habe auf diesem Weg einiges gelernt, wenn auch nicht wirklich verstanden, aber immerhin.

Nochmals vielen Dank und viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

kabakakao

Guten Abend,
wollte mal den Signalbot testen. Meine FHEM Installation läuft in einem Docker Container.
Die Installation scheint soweit durchzulaufen, jedoch bekomme ich beim register keinen Anruf.
Dann habe ich den register Aufruf direkt mit der signal-cli aufgerufen. Dann bekomme ich die Meldung, dass die libzkgroup library fehlt.
Jedoch habe ich bisher keinen Ansatz gefunden, wie ich das in einer Container-Installation lösen kann. Bisher habe ich das nur in Zusammenhang mit einem RasPi gefunden.

Kann mir da einer helfen?
Danke und Gruß,
Stephan

Adimarantis

Update des Installers auf V2.2

Enthält nur Versionsupdates der Pakete signal-cli (auf 0.8.3) und Protocol::DBus (auf 0.17).
Wenn alles funktioniert, sehe ich keinen zwingenden Grund für dieses Update.

Siehe Changelogs ob es sich für euch lohnt:
https://github.com/AsamK/signal-cli/blob/master/CHANGELOG.md
https://metacpan.org/release/Protocol-DBus

Um das Update durchzuführen, einfach Installer laufen lassen (Registrierung auslassen, aber Test durchführen, da das gleich den Service neu startet).
In FHEM ist ein "shutdown restart" nötig um die neue Protocol::DBus Version anzuziehen - sonst reicht ein "reinit" für signal-cli.

Soweit ich sehe mussten die ARM libraries nicht aktualisiert werden - bei mir lief nach dem Update zumindest alles wie gewohnt, habe aber keinen sehr ausführlichen Test gemacht.

Gruß,
Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Zitat von: kabakakao am 13 Mai 2021, 20:11:47
Jedoch habe ich bisher keinen Ansatz gefunden, wie ich das in einer Container-Installation lösen kann. Bisher habe ich das nur in Zusammenhang mit einem RasPi gefunden.

Läuft der Container auch auf einem Raspi? Dann finden sich die native libraries (die vom install script automatisch eingebunden werden) unter https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/
Dieser Teil des Installers kümmert sich darum die x86 libraries durch ARM (Raspian Buster) zu ersetzen:
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libzkgroup.so
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libsignal_jni.so
zip -u $SIGNALPATH/signal/lib/zkgroup-java-*.jar libzkgroup.so
zip -u $SIGNALPATH/signal/lib/signal-client-java-*.jar libsignal_jni.so


Wenn das ganze auf x86 unter Ubuntu laufen darf, habe ich mir mal ein Script zur Containererstellung gebaut (siehe Anhang) - habs aber schon länger nicht mehr getestet, daher ohne Gewähr und eher als Anregung.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Zitat von: Gisbert am 13 Mai 2021, 18:44:03
Die Lösung war, dass ich es irgendwie geschafft habe, den Standard bei Java von 8 auf 11 zu ändern.
Informationen gibt es dazu in dieser Datei:
/usr/lib/jvm/java-11-openjdk-amd64/docs/README.alternatives

Wenn man den folgenden Befehl ausgeführt hat, dann ist Java 11 die primäre Installation von Java.
sudo update-java-alternatives --auto

Schön das du eine Lösung gefunden hast. Ich bin leider derzeit ziemlich mit anderen Themen unter Wasser und kann mich nicht sehr tief in solche Problemstellungen einarbeiten.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

kabakakao

Zitat von: Adimarantis am 13 Mai 2021, 20:29:54
Läuft der Container auch auf einem Raspi? Dann finden sich die native libraries (die vom install script automatisch eingebunden werden) unter https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/
Dieser Teil des Installers kümmert sich darum die x86 libraries durch ARM (Raspian Buster) zu ersetzen:
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libzkgroup.so
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libsignal_jni.so
zip -u $SIGNALPATH/signal/lib/zkgroup-java-*.jar libzkgroup.so
zip -u $SIGNALPATH/signal/lib/signal-client-java-*.jar libsignal_jni.so


Wenn das ganze auf x86 unter Ubuntu laufen darf, habe ich mir mal ein Script zur Containererstellung gebaut (siehe Anhang) - habs aber schon länger nicht mehr getestet, daher ohne Gewähr und eher als Anregung.

Jörg

Danke für die schnelle Antwort. Der Container läuft auf meiner QNAP. Ist auch ein ARM system. Kann ich die library sonst irgendwie auf dem system bauen?

Adimarantis

Zitat von: kabakakao am 13 Mai 2021, 20:39:47
Danke für die schnelle Antwort. Der Container läuft auf meiner QNAP. Ist auch ein ARM system. Kann ich die library sonst irgendwie auf dem system bauen?

Vielleicht funktionieren die libraries ja sogar?
Sonst sehe ich noch zwei Optionen:
1.) Du baust den Container basierend auf einem Raspian Buster image - dann sollten sie eigentlich gehen?
2.) Du versuchst dich im Eigenbau. Eine Anleitung dazu gibts im signal-cli Wiki: https://github.com/AsamK/signal-cli/wiki/Provide-native-lib-for-libsignal

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)