ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

P4环境配置

2021-12-03 23:58:56  阅读:311  来源: 互联网

标签:p4 P4 -- clone 配置 环境 pip 安装


绝对是我配的最久的环境了,没有之一,快两周。刚开始参考了这些,试了很久很久还是不行。(18.04系统)
P4使用Ubuntu中安装教程
Ubuntu16.04中配置p4编程环境
P4使用Ubuntu中安装中的问题
Ubuntu P4编程环境搭建
Ubuntu16.04安装P4语言以及遇到的问题
P4编程环境安装(ubuntu16.04,p4c+bmv2+mininet+PI+tutorial)
ubuntu 20.04 编译安装 p4 详解
GRPC安装
配置p4的安装环境一共需要安装3个东西,分别是protobuf、p4c、bmv2

1、最终方案

参考
P4环境搭建-ubuntu 18.04
我用的v3版本,v2也可以。
问题解决参考
pip升级
python2&3 pip升级后报错
libboost-dev安装不了
grpcio安装不了

pip3 install --upgrade pip
python3 -m pip install --upgrade setuptools
pip3 install --no-cache-dir  --force-reinstall -Iv grpcio==<version_number>

cmake编译时需要增加虚拟内存,google吧。
Ubuntu升级gcc和g++到10
安装慢,换源,如

pip install libbpf --default-timeout=100 -i http://mirrors.aliyun.com.pypi/simple/
pip install libboost_filesystem-dev --default-timeout=100 -i http://mirrors.aliyun.com.pypi/simple/
pip install libboost_filesystem-dev -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install libbpf  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

配置成功后,结构应该是
在这里插入图片描述
运行tutorials中例程验证。

2、失败解决

2.1 改完脚本中的仓库地址,子仓库依旧clone失败。
解决:
从github上clone下来后,先打开.gitmodules文件,更改子仓库地址;
接着用git submodule sync更新配置,再继续用git submodule update --init --recursive来clone子仓库;
如果依旧有子仓库,就继续进入third_party的各个文件中更新子仓库配置并clone。
有的库实在clone不下来,就直接去网上找压缩包,或者clone在本地电脑在拖进虚拟机。

2.2 脚本因为clone问题停滞,解决后再次跑脚本。
要注意环境变量的变化,把已经跑过的脚本注释了,环境变量一类的、与安装目录有关的一定要确认、设置好,不要随意删除。
我就因为删除了最初的安装目录变量导致后边安装的文件位置都不对。

2.3 3、运行例程时,先后出现了mininet、psutil、grpc、p4和p4.v1找不到模块,以grpc为例。
在这里插入图片描述
解决
先检查这个包有没有被安装,没有安装就安装;
请添加图片描述
安装后看这个包被安装在哪里了,把他叫做目录1吧。
请添加图片描述
请添加图片描述
这里看到是一致的,如果不一致,就把这个包从目录1复制到目录2,比如P4就不一致。
进入目录1
cp -r dir1/package/. dir2

测试一下。请添加图片描述
请添加图片描述
成功进入mininet。
我是发现不到p4包,安装之后找不到p4.v1,因为最后这一个问题,我重装了好几遍都不行,也没有找到解决办法,最后发现是安装包时太乱了,居然还能分好几个地方放,顺利解决。

标签:p4,P4,--,clone,配置,环境,pip,安装
来源: https://blog.csdn.net/fancyZT/article/details/121709232

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有