-
-
Notifications
You must be signed in to change notification settings - Fork 772
Lib atomic is linked dynamically for i686-linux-android target #2163
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
This seems to be preventing a new Rustup release from happening (rust-lang/rustup#3668). Currently the CI fails on the = note: ld: error: undefined symbol: __atomic_is_lock_free
>>> referenced by threads_pthread.c:227 (crypto/threads_pthread.c:227)
>>> libcrypto-lib-threads_pthread.o:(CRYPTO_atomic_or) in archive /checkout/target/i686-linux-android/debug/deps/libopenssl_sys-1848ac406e42211b.rlib
>>> referenced by threads_pthread.c:252 (crypto/threads_pthread.c:252)
>>> libcrypto-lib-threads_pthread.o:(CRYPTO_atomic_load) in archive /checkout/target/i686-linux-android/debug/deps/libopenssl_sys-1848ac406e42211b.rlib
ld: error: undefined symbol: __atomic_fetch_or_8
>>> referenced by threads_pthread.c:228 (crypto/threads_pthread.c:228)
>>> libcrypto-lib-threads_pthread.o:(CRYPTO_atomic_or) in archive /checkout/target/i686-linux-android/debug/deps/libopenssl_sys-1848ac406e42211b.rlib
ld: error: undefined symbol: __atomic_load
>>> referenced by threads_pthread.c:253 (crypto/threads_pthread.c:253)
>>> libcrypto-lib-threads_pthread.o:(CRYPTO_atomic_load) in archive /checkout/target/i686-linux-android/debug/deps/libopenssl_sys-1848ac406e42211b.rlib
clang-14: error: linker command failed with exit code 1 (use -v to see invocation) ... which matches the observations above.
I guess one way forward is to add I'll let the maintainers decide then. |
I want to ping this issue as we also encountered this issue. Thanks in advance! PS: I'd love to submit a PR but not sure how this should be resolved on for the |
some update over here? Thanks in advance. |
FWIW, In Cargo we did some investigations and it seems to be a bug in the upstream OpenSSL: rust-lang/cargo#13546 (comment). We accepted the current situation and consider libatomic as a hard requirement, until OpenSSL fixes the issue. |
As stated in the title, when compiling for x86 android target, there are these symbols exported in the compiled binary:
This is related to #2043, but it seems that the fix in #2094 doesn't work for all targets. When using
openssl-sys = "=0.9.92"
, libatomic is linked statically and these symbols are not exported. So this seems like a regression in v0.9.93.I've checked other android targets (x86_64-linux-android, armv7-linux-androidabi, aarch64-linux-android), and for them the lib is linked statically.
The text was updated successfully, but these errors were encountered: