~xdavidwu/saf-cephfs

144806ad24801befdcb7e7ebe97ff82401a80e78 — xdavidwu 2 years ago 0d9d480
update prebuilt ceph libs to pacific
M COMPILING-CEPH.md => COMPILING-CEPH.md +3 -5
@@ 1,15 1,13 @@
# Compile instruction for Ceph libraries used in this project

Ceph libraries in this project is built by:
Ceph libraries in this project are built by:

Install android-ndk android-cmake android-aarch64-boost android-aarch64-openssl AUR packages on Archlinux.

Under Ceph 15.2.5 source with ceph.patch applied:
Using https://github.com/xdavidwu/ceph, branch saf-cephfs-pacific. This branch contains (hacky) patches on top of upstream pacific to make it build with ndk.

```sh
mkdir build && cd build
android-aarch64-cmake -DWITH_MANPAGE=OFF -DWITH_RDMA=OFF -DWITH_LEVELDB=OFF -DWITH_KVS=OFF -DWITH_FUSE=OFF -DWITH_BLUESTORE=OFF -DWITH_XFS=OFF -DWITH_RBD=OFF -DWITH_OPENLDAP=OFF -DWITH_RADOSGW=OFF -DWITH_LZ4=OFF -DWITH_KRBD=OFF -DWITH_LTTNG=OFF -DWITH_MGR=OFF -DWITH_BABELTRACE=OFF -DWITH_CEPHFS=OFF -DWITH_LIBRADOSSTRIPER=OFF -DWITH_TESTS=OFF -DWITH_REENTRANT_STRSIGNAL=ON -DWITH_SYSTEMD=OFF -DWITH_MGR_DASHBOARD_FRONTEND=OFF -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF -D WITH_RADOSGW_AMQP_ENDPOINT=OFF -DWITH_RADOSGW_BEAST_OPENSSL=OFF -DWITH_RADOSGW_BEAST_FRONTEND=OFF -DDEBUG_GATHER=OFF -DWITH_CEPHFS_JAVA=ON -DOPENSSL_INCLUDE_DIR:FILEPATH=/opt/android-libs/aarch64/include/ -DOPENSSL_CRYPTO_LIBRARY=/opt/android-libs/aarch64/lib/libcrypto.so -DWITH_SYSTEM_BOOST=ON -DBoost_INCLUDE_DIR=/opt/android-libs/aarch64/include/ -DBoost_LIBRARY_DIR=/opt/android-libs/aarch64/lib/ -DWITH_BOOST_CONTEXT=OFF ..
android-aarch64-cmake -DWITH_MANPAGE=OFF -DWITH_RDMA=OFF -DWITH_LEVELDB=OFF -DWITH_KVS=OFF -DWITH_FUSE=OFF -DWITH_BLUESTORE=OFF -DWITH_XFS=OFF -DWITH_RBD=OFF -DWITH_OPENLDAP=OFF -DWITH_RADOSGW=OFF -DWITH_LZ4=OFF -DWITH_KRBD=OFF -DWITH_LTTNG=OFF -DWITH_MGR=OFF -DWITH_BABELTRACE=OFF -DWITH_CEPHFS=OFF -DWITH_LIBRADOSSTRIPER=OFF -DWITH_TESTS=OFF -DWITH_REENTRANT_STRSIGNAL=ON -DWITH_SYSTEMD=OFF -DWITH_MGR_DASHBOARD_FRONTEND=OFF -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF -D WITH_RADOSGW_AMQP_ENDPOINT=OFF -DWITH_RADOSGW_BEAST_OPENSSL=OFF -DWITH_RADOSGW_BEAST_FRONTEND=OFF -DDEBUG_GATHER=OFF -DWITH_CEPHFS_JAVA=ON -DOPENSSL_INCLUDE_DIR:FILEPATH=/opt/android-libs/aarch64/include/ -DOPENSSL_CRYPTO_LIBRARY=/opt/android-libs/aarch64/lib/libcrypto.so -DWITH_SYSTEM_BOOST=ON -DBoost_INCLUDE_DIR=/opt/android-libs/aarch64/include/ -DBoost_LIBRARY_DIR=/opt/android-libs/aarch64/lib/ -DWITH_LIBCEPHSQLITE=OFF ..
make java
```

ceph.patch contains some hacks to avoid dependency of unused targets, to use boost::filesystem instead of std::filesystem as needed library is not in NDK yet, and to fix build with Android bionic libc.

M README.md => README.md +4 -4
@@ 8,10 8,10 @@ Currently only for arm64-v8a

Native libraries bundled are built from:

* libboost_\*.so: Archlinx User Repository (AUR) package `android-aarch64-boost` (1.71.0-1)
* libcrypto\_1\_1.so: AUR package `android-aarch64-openssl` (1.1.1.g-1)
* libc++\_shared.so: copied from NDK r21.d
* libcrc32.so, libcephfs.so, libceph-common.so, libcephfs\_jni.so, libfmt.so: built from Ceph 15.2.5, see [COMPILING-CEPH.md](COMPILING-CEPH.md) for how I built it
* libboost_\*.so: Archlinx User Repository (AUR) package `android-aarch64-boost` (1.76.0-1)
* libcrypto\_1\_1.so: AUR package `android-aarch64-openssl` (1.1.1.i-2)
* libc++\_shared.so: copied from NDK r22.b
* libcrc32.so, libcephfs.so, libceph-common.so, libcephfs\_jni.so, libfmt.so: built from Ceph Pacific, see [COMPILING-CEPH.md](COMPILING-CEPH.md) for how I built it

Java libraries com.ceph.\* is copied from Ceph 15.2.5 source code.


D src/main/jniLibs/arm64-v8a/libboost_filesystem.so => src/main/jniLibs/arm64-v8a/libboost_filesystem.so +0 -0
M src/main/jniLibs/arm64-v8a/libboost_iostreams.so => src/main/jniLibs/arm64-v8a/libboost_iostreams.so +0 -0
M src/main/jniLibs/arm64-v8a/libboost_thread.so => src/main/jniLibs/arm64-v8a/libboost_thread.so +0 -0
M src/main/jniLibs/arm64-v8a/libc++_shared.so => src/main/jniLibs/arm64-v8a/libc++_shared.so +0 -0
M src/main/jniLibs/arm64-v8a/libcephfs.so => src/main/jniLibs/arm64-v8a/libcephfs.so +0 -0
M src/main/jniLibs/arm64-v8a/libcephfs_jni.so => src/main/jniLibs/arm64-v8a/libcephfs_jni.so +0 -0
M src/main/jniLibs/arm64-v8a/libcrc32.so => src/main/jniLibs/arm64-v8a/libcrc32.so +0 -0
M src/main/jniLibs/arm64-v8a/libcrypto_1_1.so => src/main/jniLibs/arm64-v8a/libcrypto_1_1.so +0 -0
M src/main/jniLibs/arm64-v8a/libfmt.so => src/main/jniLibs/arm64-v8a/libfmt.so +0 -0