-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue with Loading Native Library 'uniffi_xmtpv3' on Android #193
Comments
Faced this error on Emulator Only Code : Error Logs : 16:40:10.932 E FATAL EXCEPTION: main |
I've done some more digging. We are experiencing this issue because OpenSSL, using certain Zig toolchains in various CI buildsteps, is being built without correct Atomics support. This problem has been discussed in multiple places, including the Rust Cargo issue #13546, OpenSSL issue #23376, and the comment thread on OpenSSL pull request #20927. The core of the problem is that the OpenSSL library, when built without proper atomics support, makes subsequent artifacts : An OptionBuild OpenSSL directly with the necessary flag to enable Atomics support. Specifically, the flag - args += ["-DBROKEN_CLANG_ATOMICS"] By including this flag, we at least ensure that OpenSSL is built with the correct support for Atomics, which should resolve this. The downside is that manually compiling openssl everytime will significantly slow our CI. One other thing to try would be, as a part of the build environment, to set the env var |
Have you tried this? If we can make that work that would probably be the most ideal. Unfortunately we can't use warp builds to speed up CI for this since the open source Github actions are the only Ubuntu ones that KVM. |
Describe the bug
I encountered a fatal exception with the following error message:
java.lang.UnsatisfiedLinkError: Unable to load library 'uniffi_xmtpv3':
Native library (android-x86/libuniffi_xmtpv3.so) not found in resource path (.)
It seems that the native library 'uniffi_xmtpv3' is not being loaded properly on Android. The error points to a failure in locating the native library file. Additionally, there are suppressed exceptions indicating problems with symbol referencing and library extraction.
This issue occurs during the initialization of the application and prevents it from functioning correctly. It seems to be related to the absence of the '__atomic_is_lock_free' symbol in the referenced libraries.
Expected behavior
The native library 'uniffi_xmtpv3' should be loaded successfully without any errors.
Steps to reproduce the bug
1)Run the application on emulator with intel x86.
2)Observe the fatal exception reported in the log.
The text was updated successfully, but these errors were encountered: