mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-13 10:52:56 +01:00
e6e76096bf
* Problem: Android APP fails to load ZMQ (ARM64 only)
Seen with physical Android devices running ARM64.
Not seen with ARM, X86 or X86_64.
Any Android APP loading ZMQ fails with:
```
[FATAL] Couldn't load library library zmq from jar. Dependency is required!
```
Unpack zyre-android-2.0.1.jar, find libzmq.so for ARM64 and look for missing
symbols:
```
prompt> unzip zyre-android-2.0.1.jar
prompt> cd lib/arm64-v8a
prompt> nm --undefined-only ./libzmq.so | head
U __aarch64_ldadd4_acq
U __aarch64_ldadd4_acq_rel
U __aarch64_ldadd4_rel
U __aarch64_ldadd4_relax
U __aarch64_ldadd8_acq_rel
U __aarch64_ldadd8_relax
U __aarch64_swp8_acq
U __aarch64_swp8_acq_rel
U __aarch64_swp8_rel
U __aarch64_swp8_relax
prompt>
```
Some more symbols are missing, but those are relevant for this issue.
OK.
These symbols are present in libc++_shared, but not exported ...:
```
prompt> nm libc++_shared.so | grep aarch64
00000000000ee6d0 t __aarch64_cas1_acq_rel
00000000000ee7a0 t __aarch64_cas8_acq_rel
00000000001028f0 b __aarch64_have_lse_atomics
00000000000ee840 t __aarch64_ldadd4_acq_rel
00000000000ee810 t __aarch64_ldadd4_rel
00000000000ee8a0 t __aarch64_ldadd8_acq_rel
00000000000ee870 t __aarch64_ldadd8_relax
00000000000ee7e0 t __aarch64_swp8_acq_rel
prompt>
```
Issue seen also on the WEB, with GCC & CLANG:
- https://bugzilla.redhat.com/show_bug.cgi?id=1830472
-
|
||
---|---|---|
.. | ||
abi-compliance-checker | ||
android | ||
cmake | ||
coverage | ||
cygwin | ||
deprecated-msvc | ||
fuzz | ||
gyp | ||
ios | ||
mingw32 | ||
nuget | ||
openwrt | ||
qnx | ||
valgrind | ||
vxworks | ||
zos | ||
Makefile.am | ||
README |
This directory holds build tools, i.e. tools we use to build the current code tree. Packaging tools (which take released tarballs or github code repos) should go into /packaging. Note: 'deprecated-msvc' contains deprecated prepared Visual Studio Solution files for various Visual Studio versions. These are no longer maintained, and may or may not work. Please use cmake instead to build with Visual Studio. Rationale: The solution and project files are hard to maintain, since there are different variants for each Visual Studio version. The tests have never been included there for this reason, so they were never usable for actual development of libzmq. If you encounter that something that worked before does not work with CMake, please open as issue at https://github.com/zeromq/libzmq/issues.