paddle-lite Mac编译tiny publish动态库出错
Created by: phojl
paddle-lite Mac编译tiny publish动态库出错
- 版本、环境信息: 1)系统环境:请说明系统类型、版本(如Mac OS 10.15.3)、Python版本3.7.4
- 安装方式信息: 1)本地编译:请提供cmake命令,编译命令
编译tiny publish动态库
Android
./lite/tools/build.sh
--arm_os=android
--arm_abi=armv8
--build_extra=OFF
--arm_lang=gcc
--android_stl=c++_static
--build_extra=OFF
tiny_publish
按提示进行android 进行编译时,一开始 出现 如下错误
- cmake .. -DWITH_GPU=OFF -DWITH_MKL=OFF -DWITH_LITE=ON -DLITE_WITH_CUDA=OFF -DLITE_WITH_X86=OFF -DLITE_WITH_ARM=ON -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON -DWITH_TESTING=OFF -DLITE_WITH_JAVA=ON -DLITE_WITH_PYTHON=OFF -DLITE_SHUTDOWN_LOG=ON -DLITE_ON_TINY_PUBLISH=ON -DANDROID_STL_TYPE=c++_static -DLITE_BUILD_EXTRA=OFF -DLITE_WITH_CV=OFF -DLITE_BUILD_TAILOR=OFF -DLITE_OPTMODEL_DIR= -DARM_TARGET_OS=android -DARM_TARGET_ARCH_ABI=armv8 -DARM_TARGET_LANG=gcc -- Found Paddle host system: macosx, version: 10.15.3 -- Found Paddle host system's CPU: 8 cores CMake Error at cmake/cross_compiling/host.cmake:39 (MESSAGE): Cannot find host C compiler. export CC=/path/to/cc Call Stack (most recent call first): cmake/cross_compiling/preproject.cmake:49 (include) CMakeLists.txt:30 (include)
利用 export CXX=/usr/bin/g++ 进行解决 再次编译 出现如下错误信息
错误信息 ./lite/tools/build.sh --arm_os=android --arm_abi=armv8 --build_extra=OFF --arm_lang=gcc --android_stl=c++_static --build_extra=OFF tiny_publish
-
readonly 'CMAKE_COMMON_OPTIONS=-DWITH_GPU=OFF -DWITH_MKL=OFF -DWITH_LITE=ON -DLITE_WITH_CUDA=OFF -DLITE_WITH_X86=OFF -DLITE_WITH_ARM=ON -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON'
-
CMAKE_COMMON_OPTIONS='-DWITH_GPU=OFF -DWITH_MKL=OFF -DWITH_LITE=ON -DLITE_WITH_CUDA=OFF -DLITE_WITH_X86=OFF -DLITE_WITH_ARM=ON -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON'
-
readonly NUM_PROC=4
-
NUM_PROC=4
-
BUILD_EXTRA=OFF
-
BUILD_JAVA=ON
-
BUILD_PYTHON=OFF ++ pwd
-
BUILD_DIR=/Users/lijiang/Desktop/phone/Paddle-Lite
-
OPTMODEL_DIR=
-
BUILD_TAILOR=OFF
-
BUILD_CV=OFF
-
SHUTDOWN_LOG=ON
-
readonly THIRDPARTY_TAR=https://paddle-inference-dist.bj.bcebos.com/PaddleLite/third-party-05b862.tar.gz
-
THIRDPARTY_TAR=https://paddle-inference-dist.bj.bcebos.com/PaddleLite/third-party-05b862.tar.gz
-
readonly workspace=/Users/lijiang/Desktop/phone/Paddle-Lite
-
workspace=/Users/lijiang/Desktop/phone/Paddle-Lite ++ uname -s
-
os_nmae=Darwin
-
'[' Darwin == Darwin ']'
-
ulimit -n 1024
-
main --arm_os=android --arm_abi=armv8 --build_extra=OFF --arm_lang=gcc --android_stl=c++_static --build_extra=OFF tiny_publish
-
'[' -z --arm_os=android ']'
-
for i in '"$@"'
-
case $i in
-
ARM_OS=android
-
shift
-
for i in '"$@"'
-
case $i in
-
ARM_ABI=armv8
-
shift
-
for i in '"$@"'
-
case $i in
-
BUILD_EXTRA=OFF
-
shift
-
for i in '"$@"'
-
case $i in
-
ARM_LANG=gcc
-
'[' gcc == clang ']'
-
shift
-
for i in '"$@"'
-
case $i in
-
ANDROID_STL=c++_static
-
shift
-
for i in '"$@"'
-
case $i in
-
BUILD_EXTRA=OFF
-
shift
-
for i in '"$@"'
-
case $i in
-
make_tiny_publish_so android armv8 gcc c++_static
-
local os=android
-
local abi=armv8
-
local lang=gcc
-
local android_stl=c++_static ++ pwd
-
cur_dir=/Users/lijiang/Desktop/phone/Paddle-Lite
-
build_dir=/Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc
-
'[' -d /Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc ']'
-
rm -rf /Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc
-
mkdir -p /Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc
-
cd /Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc
-
'[' android == armlinux ']'
-
cmake .. -DWITH_GPU=OFF -DWITH_MKL=OFF -DWITH_LITE=ON -DLITE_WITH_CUDA=OFF -DLITE_WITH_X86=OFF -DLITE_WITH_ARM=ON -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON -DWITH_TESTING=OFF -DLITE_WITH_JAVA=ON -DLITE_WITH_PYTHON=OFF -DLITE_SHUTDOWN_LOG=ON -DLITE_ON_TINY_PUBLISH=ON -DANDROID_STL_TYPE=c++_static -DLITE_BUILD_EXTRA=OFF -DLITE_WITH_CV=OFF -DLITE_BUILD_TAILOR=OFF -DLITE_OPTMODEL_DIR= -DARM_TARGET_OS=android -DARM_TARGET_ARCH_ABI=armv8 -DARM_TARGET_LANG=gcc -- Found Paddle host system: macosx, version: 10.15.3 -- Found Paddle host system's CPU: 8 cores -- Found host C compiler: /usr/bin/g++ -- Found host CXX compiler: /Users/lijiang/Library/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-g++ -- Lite ARM Compile android with armv8 -- Android: Targeting API '23' with architecture 'arm64', ABI 'arm64-v8a', and processor 'aarch64' -- Android: Selected GCC toolchain 'aarch64-linux-android-4.9' -- The CXX compiler identification is GNU 4.9.0 -- The C compiler identification is GNU 4.9.0 -- Check for working CXX compiler: /Users/lijiang/Library/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-g++ -- Check for working CXX compiler: /Users/lijiang/Library/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-g++ -- broken CMake Error at /usr/local/Cellar/cmake/3.10.2/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake:45 (message): The C++ compiler
"/Users/lijiang/Library/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-g++"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc/CMakeFiles/CMakeTmp
Run Build Command:"/usr/local/bin/gmake" "cmTC_bfb4b/fast" /usr/local/bin/gmake -f CMakeFiles/cmTC_bfb4b.dir/build.make CMakeFiles/cmTC_bfb4b.dir/build gmake[1]: Entering directory '/Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_bfb4b.dir/testCXXCompiler.cxx.o /Users/lijiang/Library/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-g++ --sysroot=/Users/lijiang/Library/android-ndk-r17c/sysroot -isystem /Users/lijiang/Library/android-ndk-r17c/sources/cxx-stl/llvm-libc++/include -isystem /Users/lijiang/Library/android-ndk-r17c/sources/android/support/include -isystem /Users/lijiang/Library/android-ndk-r17c/sources/cxx-stl/llvm-libc++abi/include -isystem /Users/lijiang/Library/android-ndk-r17c/sysroot/usr/include -isystem /Users/lijiang/Library/android-ndk-r17c/sysroot/usr/include/aarch64-linux-android -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0 -funwind-tables -no-canonical-prefixes -D__ANDROID_API__=23 -fexceptions -frtti -g -fPIE -o CMakeFiles/cmTC_bfb4b.dir/testCXXCompiler.cxx.o -c /Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc/CMakeFiles/CMakeTmp/testCXXCompiler.cxx aarch64-linux-android-g++: error: unrecognized command line option '-mssse3' aarch64-linux-android-g++: error: unrecognized command line option '-stdlib=libc++' gmake[1]: *** [CMakeFiles/cmTC_bfb4b.dir/build.make:66: CMakeFiles/cmTC_bfb4b.dir/testCXXCompiler.cxx.o] Error 1 gmake[1]: Leaving directory '/Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc/CMakeFiles/CMakeTmp' gmake: *** [Makefile:126: cmTC_bfb4b/fast] Error 2
CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:32 (project)
-- Configuring incomplete, errors occurred! See also "/Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc/CMakeFiles/CMakeOutput.log". See also "/Users/lijiang/Desktop/phone/Paddle-Lite/build.lite.android.armv8.gcc/CMakeFiles/CMakeError.log".