小白编译AnyQ-dockerlinux[CentOs]——AnyQ系列之一

2024-06-18 01:38

本文主要是介绍小白编译AnyQ-dockerlinux[CentOs]——AnyQ系列之一,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AnyQ小白编译-docker&linux[CentOs]

    • 一、首先要解决的问题
    • 二、 使用官方docker编译(不建议)
    • 三、在CentOS7编译(建议)
    • 四、编译成功之后的运行
    • 五、我编译好的阿里云镜像
    • 六、可能遇到各种问题的集合

一、首先要解决的问题

那当然是网速了!我家移动宽带,平常下个电影10M/s,可是从github下载代码最多才20k/s的网速,还时不时断掉要重新下!至于百度到的hosts解决方案,实测不行了(2020年1月24日至27号这几天我试了很多遍)。具体怎么解决,这里不能说,自行研究解决。解决不了网速,后面编译的时候还要下载十几处github及其他依赖代码,代码下不动又各种编译报错,折腾三天依然没有进展人是会崩溃的。

另外我硬件配置是笔记本联想Y471A:四核2.2GHz、10G运存;
系统配置:win10_64位系统,Docker for Windows。

二、 使用官方docker编译(不建议)

需要特别说明的是,因为版本更迭不同步,官方给的paddlepaddle镜像与AnyQ需要的环境并不是很匹配。除cmake版本回退以外,还有其他问题容易产生。而且官方的paddlepaddle镜像臃肿,占用存储。
1. 拉取docker镜像

# paddle官方镜像
docker pull paddlepaddle/paddle:latest-dev# paddle国内镜像
docker pull hub.baidubce.com/paddlepaddle/paddle:latest-dev

2.运行镜像将镜像映射到端口上并启动容器

##运行镜像,将生成的容器命名为AnyQ,并且AnyQ的端口8999映射为电脑主机9999
docker run  --name anyq -itd --privileged=true  -p 9999:8999 paddlepaddle/paddle:latest-dev /bin/bash
##启动容器AnyQ
docker exec -it anyq /bin/bash

3. docker中容器上网问题
这也是个坑,你以为主机能上网就OK了,nonono!如果你是linux系统用docker,采用host模式启动容器应该好解决。windows系统是在Hyper-V虚拟linux系统在其中运行docker镜像,host模式只是与虚拟的linux进行连接。
我摸索的方法如下:在上网客户端里打开“允许来自局域网的连接”选项。
然后在容器AnyQ中设置http_proxy运行如下两行命令:

export  http_proxy="http://192.168.1.105:10809"
export  https_proxy="http://192.168.1.105:10809"

192.168.1.105是家里路由分配给我笔记本的IP,端口是上网客户端里开放的http代理端口。
此时输入curl cip.cc命令如下:

λ 4f*****5cf /home  curl cip.cc
IP      : 40.**.9*.31
地址    : 中国  *港  mi****ft.com数据二  : *国 | Mi***t公司数据三  : 中国香* | *软URL     : http://www.cip.cc/4*.**.**.31

表明上网成功。
4. 检查cmake版本

 cmake/gcc/g++ --versionbison -V

我运行的时候cmake版本应该是3.16.0,编译时会产生以下报错:

paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/build.make:60: *** target pattern contains no '%'.  Stop.
CMakeFiles/Makefile2:2828: recipe for target 'paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/all' failed
make[4]: *** [paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/all] Error 2paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/build.make:60: *** target pattern contains no '%'.  Stop.
CMakeFiles/Makefile2:2163: recipe for target 'paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all' failed
make[4]: *** [paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all] Error 2

手动安装低版本cmake,v3.2.2及v3.4.0我都测试过了,是可以的。参考博客:cmake替换版本
我docker中的版本如下:

λ 4f88a5cf /home g++ --version
g++ (Ubuntu 4.8.5-4ubuntu2) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.λ 4f885cf /home bison -V
bison (GNU Bison) 3.0.4
Written by Robert Corbett and Richard Stallman.Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source <

这篇关于小白编译AnyQ-dockerlinux[CentOs]——AnyQ系列之一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070944

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言