java.lang.NoClassDefFoundError: org/signal/libsignal/net/CdsiLookupResponse$Entry on Linux
Getting this exception (line numbers are off by my additional logging):
java.lang.NoClassDefFoundError: org/signal/libsignal/net/CdsiLookupResponse$Entry
at org.whispersystems.signalservice.api.SignalServiceAccountManager.getRegisteredUsersWithCdsi(SignalServiceAccountManager.java:283)
at org.asamk.signal.manager.helper.RecipientHelper.getRegisteredUsersV2(RecipientHelper.java:239)
at org.asamk.signal.manager.helper.RecipientHelper.getRegisteredUsers(RecipientHelper.java:187)
at org.asamk.signal.manager.helper.RecipientHelper.getRegisteredUsers(RecipientHelper.java:179)
at org.asamk.signal.manager.internal.ManagerImpl.getUserStatus(ManagerImpl.java:278)
While trying to fetch users's identify on Linux. On Mac Silicon works just fine.
Looked at CdsiLookupResponse$Entry and it seems to be called from native code (it has @CalledFromNative). But have no idea so far why it's failing.
Looks like a mismatch between the java and jni (native .so file) part of libsignal-client. Both need to match the one required for your signal-cli version. https://github.com/AsamK/signal-cli/blob/master/CHANGELOG.md
Hm... interesting. I don't use custom libsignal-client, always use com.github.turasa:signal-service-java. Also, version mismatch most probably would behave similarly on Mac and Linux. OK, will do more testing.