ubuntu 20.04 编译安装 p4 详解

Posted 10249421

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 20.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脚本对应的解释
image
设置各个模块的版本(因为各个版本之间有特定的以来关系)

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

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

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

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

image
bmv2 和 PI 模块的重要依赖
中国计算机学会推
image
PI 模块的编译安装

image
bmv2 模块的编译安装

image
p4c 的编译安装

image
p4 使用参考文档

至此就安装好了,脚本中有些 make check 可以安装好再测试.....
因为如果之前安装过 p4,但出现了错,注释掉的那些 make check 可能导致脚本报错停止。。。
由于时间比较匆忙,没有做过多的 p4 介绍,,有时间再添加内容吧。。。

以上是关于ubuntu 20.04 编译安装 p4 详解的主要内容,如果未能解决你的问题,请参考以下文章

记录ubuntu20.04成功编译安装opencv4 c++环境

Ubuntu 20.04编译安装 spooftooph

在 Ubuntu 20.04 上更新犰狳 [关闭]

Ubuntu 20.04下源码编译安装ROS 2 Foxy Fitzroy

P4 开发实践 — 编译安装开发环境

ubuntu安装opencv3.4.5,图文详解