isamert / scli

a simple terminal user interface for signal messenger (using signal-cli)
GNU General Public License v3.0
439 stars 40 forks source link

Error while attempting to link a device #147

Closed kjk11 closed 2 years ago

kjk11 commented 2 years ago

I keep receiving the following error while attempting to link a device:

ERROR: Encountered a problem while linking: java.lang.IncompatibleClassChangeError: Expecting non-static method 'byte[] org.whispersystems.libsignal.kdf.HKDF.deriveSecrets(byte[], byte[], int)' at org.whispersystems.signalservice.internal.crypto.ProvisioningCipher.decrypt(ProvisioningCipher.java:90) at org.whispersystems.signalservice.internal.push.ProvisioningSocket.getProvisioningMessage(ProvisioningSocket.java:62) at org.whispersystems.signalservice.api.SignalServiceAccountManager.getNewDeviceRegistration(SignalServiceAccountManager.java:734) at org.asamk.signal.manager.ProvisioningManager.finishDeviceLink(ProvisioningManager.java:93) at org.asamk.signal.commands.LinkCommand.handleCommand(LinkCommand.java:46) at org.asamk.signal.App.handleProvisioningCommand(App.java:213) at org.asamk.signal.App.init(App.java:160) at org.asamk.signal.Main.main(Main.java:52)

Any help would be most appreciated.

exquo commented 2 years ago

The error in coming from signal-cli. Try running in terminal

signal-cli link

See also https://github.com/AsamK/signal-cli/wiki/Linking-other-devices-(Provisioning)

kjk11 commented 2 years ago

It seems like the AUR package of signal-cli included jdk-openjdk only as a make dependency. However, when attempting to link a device this needs to be installed in order to work properly. So for anyone on Arch facing the same problem, either don't remove the make dependencies or make sure jdk-openjdk is explicitly installed.

exquo commented 2 years ago

I would guess it applies to using signal-cli at all (not only with linking).

On signal-cli's AUR page there's a pinned comment recommending to do

archlinux-java set java-11-openjdk

Maybe it needs to be included in AUR package instructions..?