P4环境配置

绝对是我配的最久的环境了,没有之一,快两周。刚开始参考了这些,试了很久很久还是不行。(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,因为最后这一个问题,我重装了好几遍都不行,也没有找到解决办法,最后发现是安装包时太乱了,居然还能分好几个地方放,顺利解决。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值