mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-14 01:37:56 +08:00
a7774e38e6
How to reproduce: ``` prompt> git clone libzmq prompt> cd libzmq/builds/android prompt> export CURVE=libsodium prompt> ./ci_build.sh Cloning into 'libsodium'... fatal: unable to connect to github.com: github.com[0: 140.82.121.4]: errno=Connection timed out Cloning into 'libsodium'... fatal: unable to connect to github.com: github.com[0: 140.82.121.3]: errno=Connection timed out Cloning into 'libsodium'... fatal: unable to connect to github.com: github.com[0: 140.82.121.3]: errno=Connection timed out Cloning into 'libsodium'... fatal: unable to connect to github.com: github.com[0: 140.82.121.4]: errno=Connection timed out prompt> ``` Reason: Invalid URL to download libsodium: ``` prompt> grep -s 'git clone' libzmq/builds/android/*.sh libzmq/builds/android/build.sh:70: (cd "${cache}" && git clone -b stable --depth 1 git://github.com/jedisct1/libsod ^^^^^^^^^^^^^^^^^ ``` URL should be either: - `git@github.com:` - `https://github.com/` same given in [zproject](https://github.com/zeromq/zproject/blob/master/zproject_known_projects.xml#L108-L111). Solution: Change URL to `https://`. Result: ``` prompt> export CURVE=libsodium prompt> ./ci_build.sh Cloning into 'libsodium'... remote: Enumerating objects: 659, done. remote: Counting objects: 100% (659/659), done. remote: Compressing objects: 100% (586/586), done. remote: Total 659 (delta 159), reused 220 (delta 34), pack-reused 0 Receiving objects: 100% (659/659), 1.97 MiB | 4.00 MiB/s, done. Resolving deltas: 100% (159/159), done. autoconf scripts already exist. ... libtool: install: /bin/install -c tools/.libs/curve_keygen /home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/bin/curve_keygen /bin/mkdir -p '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/include' /bin/install -c -m 644 include/zmq.h include/zmq_utils.h '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/include' /bin/mkdir -p '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/lib/pkgconfig' /bin/install -c -m 644 src/libzmq.pc '/home/cbox_dev/git/ZEROMQ/libzmq/builds/android/prefix/x86_64/lib/pkgconfig' make[2]: Leaving directory `/tmp/android_build/x86_64/libzmq' make[1]: Leaving directory `/tmp/android_build/x86_64/libzmq' libzmq android build succeeded prompt> ```
Android Build
Prerequisites
You need the Android Native Development Kit (NDK) installed. See here to download it.
This project is tested against Android NDK version r24.
If you installed version r24 all you have to do is to expose the NDK root directory as environment variable, e.g:
export ANDROID_NDK_ROOT=$HOME/android-ndk-r24
If you installed another version you have to expose the NDK root directory as well as the NDK version, e.g:
export ANDROID_NDK_ROOT=$HOME/android-ndk-r17c
export NDK_VERSION=android-ndk-r17c
To specify the minimum sdk version set the environment variable below:
export MIN_SDK_VERSION=21 # Default value if unset
To specify the prefix directory set the environment variable below:
export ANDROID_BUILD_DIR=./builds/android/prefix/<android_arch> # Default value if unset
Build
In the android directory, run:
./build.sh [ arm | arm64 | x86 | x86_64 ]