首页 Paddle Lite 帖子详情
paddle-lite Mac编译tiny publish动态库出错
收藏
快速回复
Paddle Lite 问答部署 1419 2
paddle-lite Mac编译tiny publish动态库出错
收藏
快速回复
Paddle Lite 问答部署 1419 2

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".

0
收藏
回复
全部评论(2)
时间顺序
aistudio_2
#3 回复于2021-05

mark

0
回复
n
nicebdhoho
#4 回复于2021-05

使用的是哪个版本呢,可以尝试使用最新的稳定版。比如v2.8。另外2.9版本也即将发布。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户