ubuntu20.04编译安装p4详解

编程

事情的起因

  1. 实验需要安装 p4 环境
  2. 我考虑到我自己的电脑性能不足,因此打算在本机安装
  3. github上官方仓库的安装教程老旧,都是在 ubuntu14.04或者ubuntu16.04
  4. 我长时间用的linux系统是 ubuntu20.04

鉴于以上原因,我开始自己对p4安装的专研。。

这个是我自己写的shell脚本,已经在 ubuntu 20.04上测试通过

先放上官网

[p4 github](https://github.com/p4lang/)

[p4 官网](https://p4.org/)

然后是踩的坑

  1. 使用了anacond,使得后续找不到python库,另外使用sudo或root安装库会导致安装的位置混乱
  2. 按照官方教程安装,由于版本比较旧,导致源码编译不通过,通过更新编译不通过的源码包会因为p4各个模块的版本之间的依赖问题使得环境检测make check出错
  3. 计算机性能较差,编译卡死过很多次

解决方案

以p4c着手,倒推各个依赖源码的版本,当依赖的版本无法编译时,更新源码和依赖该源码的模块

以下是我自己写的shell脚本对应的解释


设置各个模块的版本(因为各个版本之间有特定的以来关系)


配置 ovs 并将安装日志写入对应文件


mininet 的安装,最后一行是 mininet 的测试,需要启动 ovs ( ovs-ctl start )


p4 安装中重要的依赖关系:protobuf


p4安装中重要的依赖关系:grpc


bmv2 和 PI 模块的重要依赖

中国计算机学会推


PI 模块的编译安装


bmv2 模块的编译安装


p4c 的编译安装


p4 使用参考文档

至此就安装好了,脚本中有些 make check 可以安装好再测试.....

因为如果之前安装过 p4,但出现了错,注释掉的那些 make check 可能导致脚本报错停止。。。

由于时间比较匆忙,没有做过多的 p4 介绍,,有时间再添加内容吧。。。

来源:https://www.cnblogs.com/mike1024/archive/2021/06/03/14846544.html

以上是 ubuntu20.04编译安装p4详解 的全部内容, 来源链接: utcz.com/z/519694.html

回到顶部