AnyQ搭建与编译问题解决

浪尽此生 提交于 2019-12-26 04:33:11

AnyQ 搭建过程与编译问题解决


写在最前:之前工程上使用过anyq,搭建过程尤其不顺利,现在之前的方法和经验重新搭建,发现竟然搭建不起来,所以按照官方的文档,重新的尝试,总结出几点常见的问题和解决方法。


搭建过程参考我之前的博客
搭建AnyQ方法

基本的步骤和过程没有问题,但是安装现有的docker 和 github,是编译不成功的。

常见问题

1.
docker run

docker run -dit -p 0.0.0.0:9999:8999 paddlepaddle/paddle:latest-dev

修改成

docker run -dit -p 9999:8999 paddlepaddle/paddle:latest-dev /bin/bash

原方法会出现一run 不起 docker

docker ps 时什么都没有
docker ps -a 时发现,容器退出了。

2.
make 报错

[ 4%] Built target extern_leveldb
[ 9%] Built target extern_jsoncpp
[ 13%] Built target extern_gtest
[ 18%] Built target extern_xgboost
[ 22%] Built target extern_eigen
[ 26%] Built target extern_paddle
[ 31%] Built target extern_curl
[ 32%] Performing build step for 'extern_lac'
-- CXX compiler: /usr/bin/c++, version: GNU 4.8.5
-- C compiler: /usr/bin/cc, version: GNU 4.8.5
CMake Error at CMakeLists.txt:12 (message):
A gcc compiler with a version >= 4.8.2 is needed.

-- Configuring incomplete, errors occurred!
See also "/home/AnyQ/build/third_party/lac/src/lac/CMakeFiles/CMakeOutput.log".
CMakeFiles/extern_lac.dir/build.make:111: recipe for target 'third_party/lac/src/extern_lac-stamp/extern_lac-build' failed
make[2]: *** [third_party/lac/src/extern_lac-stamp/extern_lac-build] Error 1
CMakeFiles/Makefile2:585: recipe for target 'CMakeFiles/extern_lac.dir/all' failed
make[1]: *** [CMakeFiles/extern_lac.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

gcc 版本的问题
参考issues中的解决办法,得到解决了
#解决办法:
/AnyQ/build/third_party/lac/src/lac/CMakeLists.txt
#将VERSION_LESS 后的 4.8.2 改为4.8

3.make过程中paddle 编译错误
可以尝试把文件cmake/external/paddle.cmake中的如下代码片断中:

ExternalProject_Add(
    extern_paddle
    ${EXTERNAL_PROJECT_LOG_ARGS}
    GIT_REPOSITORY       "https://github.com/PaddlePaddle/Paddle.git"
    GIT_TAG              "release/0.14.0" #这里,这里
    PREFIX               ${PADDLE_SOURCES_DIR}
    CONFIGURE_COMMAND    mkdir -p ${PADDLE_INSTALL_DIR} && cd ${PADDLE_INSTALL_DIR} && ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PADDLE_INSTALL_DIR} 
                         -DCMAKE_BUILD_TYPE=Release -DWITH_PYTHON=OFF -DWITH_MKL=ON -DWITH_MKLDNN=OFF -DWITH_GPU=OFF -DWITH_FLUID_ONLY=ON <SOURCE_DIR>
    BUILD_COMMAND        cd ${PADDLE_INSTALL_DIR} && make -j16
    INSTALL_COMMAND      cd ${PADDLE_INSTALL_DIR} && make inference_lib_dist
    UPDATE_COMMAND       ""
)

GIT_TAG的值改为==“v0.14.0”==
因为paddle仓库的tag里面,反正我是没有找到"release/0.14.0"

4.xgboost 安装错误
则可以尝试把文件cmake/external/xgboost.cmake中的如下片断中:

ExternalProject_Add(
    extern_xgboost
    ${EXTERNAL_PROJECT_LOG_ARGS}
    DOWNLOAD_DIR ${XGBOOST_SOURCES_DIR}/src/
    DOWNLOAD_COMMAND git clone --recursive https://github.com/dmlc/xgboost.git #这里需要指定版本
    DOWNLOAD_NO_PROGRESS  1
    PREFIX          ${XGBOOST_SOURCES_DIR}
    BUILD_COMMAND         ""
    UPDATE_COMMAND ""
    CONFIGURE_COMMAND ""
    INSTALL_COMMAND  cd ${XGBOOST_INSTALL_DIR} && make -j4
    BUILD_IN_SOURCE 1
)

把DOWNLOAD_COMMAND 值改为git clone -b v0.90 --recursive https://github.com/dmlc/xgboost.git


大部分的问都源于
cmake 的版本 gcc 的版本的问题
以及相关依赖的源的问题

最后的结果
请求anyq

望对您有帮助

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!