Closed chillingche closed 3 years ago
Please add complete install.sh log.
We compile third party library protobuf at the begining of install.sh, and save libprotobuf.so to third_party/android-aarch64/protobuf/lib directory. you can check your files.
Here is the complete build log.
[INFO] use 6 threads to parallel build third party library on linux-x86_64 for target android-aarch64 in directory /home/ubuntu/workspace/bolt-master/third_party/android-aarch64...
[INFO] use c language compiler /home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
[INFO] use c++ language compiler /home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
[INFO] generate environment file to /home/ubuntu/workspace/bolt-master/third_party/android-aarch64.sh...
[INFO] build protoc in /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/protoc...
/home/ubuntu/workspace/bolt-master/third_party/sources/protoc-3.14.0-linux-x86_64.zip
...
[INFO] build protobuf in /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/protobuf...
[INFO] build flatbuffers in /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/flatbuffers...
[INFO] build TFLite in /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/tflite...
[INFO] build OpenCL in /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/opencl...
[INFO] build jsoncpp in /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/jsoncpp...
[INFO] please source /home/ubuntu/workspace/bolt-master/third_party/android-aarch64.sh to use...
[INFO] use /home/ubuntu/workspace/bolt-master/third_party/android-aarch64.sh to set environment variable...
[INFO] generate bolt gcl code in /home/ubuntu/workspace/bolt-master/common/gcl/tools/kernel_source_compile...
[INFO] use 6 threads to parallel build bolt on linux-x86_64 for target android-aarch64 in directory /home/ubuntu/workspace/bolt-master...
[INFO] use cmake options -DCMAKE_SYSTEM_NAME=Linux -DANDROID=ON -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_STRIP=/home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip -DCMAKE_RANLIB=/home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ranlib -DUSE_GENERAL=ON -DUSE_FP32=ON -DUSE_MALI=ON -DUSE_CAFFE=ON -DUSE_ONNX=ON -DUSE_TFLITE=ON -DUSE_TENSORFLOW=ON -DUSE_NEON=ON -DUSE_FP16=ON -DUSE_INT8=ON -DUSE_JNI=ON -DUSE_ANDROID_LOG=ON -DCMAKE_INSTALL_PREFIX=/home/ubuntu/workspace/bolt-master/install_android-aarch64 -DProtobuf_ROOT=/home/ubuntu/workspace/bolt-master/third_party/android-aarch64/protobuf -DFlatBuffers_ROOT=/home/ubuntu/workspace/bolt-master/third_party/android-aarch64/flatbuffers -DTFLite_ROOT=/home/ubuntu/workspace/bolt-master/third_party/android-aarch64/tflite -DJSONCPP_ROOT=/home/ubuntu/workspace/bolt-master/third_party/android-aarch64/jsoncpp
-- The C compiler identification is Clang 8.0.7
-- The CXX compiler identification is Clang 8.0.7
-- Check for working C compiler: /home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-- Check for working C compiler: /home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
-- Check for working CXX compiler: /home/ubuntu/bin/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Protobuf: /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/protobuf/lib/libprotobuf.a
-- Found flatbuffers/flatbuffers.h: /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/flatbuffers/include
-- Found tensorflow/lite/schema/schema_generated.h: /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/tflite/include
-- Found jsoncpplib.h: /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/jsoncpp/include
-- Found jsoncpp: /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/jsoncpp/lib/libjsoncpp_static.a
-- Found gcl.h: /home/ubuntu/workspace/bolt-master/common/gcl/include
-- Found CL/cl.h: /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/opencl/include
-- Found libOpenCL.so: /home/ubuntu/workspace/bolt-master/third_party/android-aarch64/opencl/lib/libOpenCL.so
-- Found libkernelsource.h: /home/ubuntu/workspace/bolt-master/common/gcl/tools/kernel_source_compile/include
-- Found kernelsource: /home/ubuntu/workspace/bolt-master/common/gcl/tools/kernel_source_compile/lib/libkernelsource.a
-- CFLAGS: --target=aarch64-linux-android21 -W -Wall -Wextra -O3 -fPIC -fstack-protector-all -Wno-unused-command-line-argument -Wno-unused-parameter -Wno-unused-result -Wno-deprecated-declarations -Wno-unused-variable -pthread -D_USE_JNI -D_USE_ANDROID_LOG -llog -D_USE_GENERAL -D_USE_MALI -D_USE_FP32 -D_USE_NEON -D_USE_FP16 -D_USE_F16_MIX_PRECISION -D_USE_INT8 -march=armv8-a+fp16+dotprod -D_USE_CAFFE -D_USE_ONNX -D_USE_TFLITE -D_USE_TENSORFLOW -std=gnu99 -W -Wall -Wextra -O3 -fPIC -fstack-protector-all -Wno-unused-command-line-argument -Wno-unused-parameter -Wno-unused-result -Wno-deprecated-declarations -Wno-unused-variable -pthread -D_USE_JNI -D_USE_ANDROID_LOG -llog -D_USE_GENERAL -D_USE_MALI -D_USE_FP32 -D_USE_NEON -D_USE_FP16 -D_USE_F16_MIX_PRECISION -D_USE_INT8 -march=armv8-a+fp16+dotprod -D_USE_CAFFE -D_USE_ONNX -D_USE_TFLITE -D_USE_TENSORFLOW -Wl,-allow-shlib-undefined -static-libstdc++
-- CXXFLAGS: --target=aarch64-linux-android21 -W -Wall -Wextra -O3 -fPIC -fstack-protector-all -Wno-unused-command-line-argument -Wno-unused-parameter -Wno-unused-result -Wno-deprecated-declarations -Wno-unused-variable -pthread -D_USE_JNI -D_USE_ANDROID_LOG -llog -D_USE_GENERAL -D_USE_MALI -D_USE_FP32 -D_USE_NEON -D_USE_FP16 -D_USE_F16_MIX_PRECISION -D_USE_INT8 -march=armv8-a+fp16+dotprod -D_USE_CAFFE -D_USE_ONNX -D_USE_TFLITE -D_USE_TENSORFLOW -std=c++11 -W -Wall -Wextra -O3 -fPIC -fstack-protector-all -Wno-unused-command-line-argument -Wno-unused-parameter -Wno-unused-result -Wno-deprecated-declarations -Wno-unused-variable -pthread -D_USE_JNI -D_USE_ANDROID_LOG -llog -D_USE_GENERAL -D_USE_MALI -D_USE_FP32 -D_USE_NEON -D_USE_FP16 -D_USE_F16_MIX_PRECISION -D_USE_INT8 -march=armv8-a+fp16+dotprod -D_USE_CAFFE -D_USE_ONNX -D_USE_TFLITE -D_USE_TENSORFLOW -Wl,-allow-shlib-undefined -static-libstdc++
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Protobuf_SHARED_LIBRARY
linked by target "model_tools_caffe" in directory /home/ubuntu/workspace/bolt-master/model_tools/src/caffe
linked by target "model_tools_onnx" in directory /home/ubuntu/workspace/bolt-master/model_tools/src/onnx
-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/workspace/bolt-master/build_android-aarch64/CMakeFiles/CMakeOutput.log".
I think there is a typo in the L12 of "common/cmakes/FindProtobuf.cmake":
find_library(Protobuf_SHARED_LIBRARY NAMES protobuf SHARED_HINTS $ENV{Protobuf_ROOT}/lib ${Protobuf_ROOT}/lib)
It works after I make a small change:
find_library(Protobuf_SHARED_LIBRARY NAMES protobuf SHARED HINTS $ENV{Protobuf_ROOT}/lib ${Protobuf_ROOT}/lib)
There is no need to add SHARED_ prefix, maybe this is is usage error. Surprisingly, no error has been reported in other systems.
Environment
Command
Log