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 的版本的问题
以及相关依赖的源的问题
最后的结果
望对您有帮助
来源:CSDN
作者:zhaoze13
链接:https://blog.csdn.net/weixin_42326230/article/details/103698422