P4使用Ubuntu中安装教程

/*************************************/

补充,2020年5月11日 13点18分

有同学说网络环境啥的,获取安装包比较困难,我把大概要用的安装包放到百度网盘了,大家自己获取吧。

我不能保证你有这些安装包就一定能成功,毕竟每个人电脑环境不同,最好还是联网(外网)安装吧。

链接:https://pan.baidu.com/s/1pzhUYp-Rj2iJE-IfBoSt4w 
提取码:wvzm 

 

/************************************/

0  写在前面

因科研需要用到p4,于是在网上寻找安装教程,但发现网上教程大多只是贴了运行的命令或者一个脚本,或许那些博客的作者配置比较顺利。不过对刚开始接触p4并要配置环境的新手来说只看脚本命令可能会遇到很多问题,这篇教程是本人按照网上的教程配置的,记录了过程中遇到的问题,每个命令我都截了运行的结果图,方便大家在配置的过程中参考我的输出结果,p4的环境虽然只分为安装protobuf、p4c、bmv2这三个工具,但我走了不少弯路,遇到了各种问题,足足配置了5天。实验室的同学配置过一次也花了两个星期,但是当时没有写教程,而p4的环境由于依赖的库很多,所以每一步都可能出现错误。

因此当bmv2配置结束的时候,我回想配置的过程说简单也简单,毕竟不超过20条命令,但是说难也难,配置了5天,遇到一大堆问题。这边教程并不是最简洁的,有的命令重复执行(确认依赖已经安装),有的图贴的过于繁琐,但是最主要还是为了力求真实的记录配置过程,写这篇教程的初衷是为了让像我一样的初学者在配置过程中能少走一些弯路,希望这篇教程能帮助到后来者。

配置的过程中会遇到许多的问题,这里我只记录了我遇到的问题,可能大家在配置的时候会遇到新的问题,因此,既然决定要配置,就一定要耐心,静下心来操作。

这里,推荐几个我参考了的博客:

(1)源码下载,p4所有的源码和教程都来源于这个github:https://github.com/p4lang  这个是官方的教程,推荐大家多看看这个,因为第三方教程的环境和依赖都不同,都是针对自己的机器安装的,所以最好的还是github的官方readme文档。

(2)安装教程有以下几个:

主要参考:https://www.sdnlab.com/19912.html

辅助参考:

https://www.cnblogs.com/qq952693358/p/7463204.html

https://steeven.iteye.com/blog/2330830

https://www.cnblogs.com/qq952693358/p/5905536.html

https://blog.csdn.net/zhangmeimei_pku/article/details/79479055

https://www.sdnlab.com/22466.html

https://www.sdnlab.com/22512.html

https://www.cnblogs.com/ljy1227476113/p/10524035.html

http://sunyongfeng.com/201705/networks/p4/repo_p4app.html

本次配置p4所用到的安装文件我已经打包并上传到CSDN的p4-source.tar.gz中,文件内容如下,如果没有积分的朋友可以发邮件给我:gyphust@qq.com

1  准备工作

1.1  查看系统环境

本文使用Ubuntu 16.04 LTS,内核版本Linux ubuntu 4.15.0-46-generic,应该影响不大,系统信息如下图:

系统信息

1.2  安装部分依赖

1.2.1  安装常用工具

安装一些常用的工具,用于后面的使用,命令如下:

$sudo apt-get install g++ git automake libtool libgc-dev bison flex libfl-dev libgmp-dev libboost-dev libboost-iostreams-dev pkg-config python python-scapy python-ipaddr curl wget tcpdump cmake
安装常用依赖工具

1.2.2  安装protobuf依赖库

protocbuf的官网所列出需要如下依赖:autoconf, automake, libtool, curl, make, g++, unzip, gmock等,分两部分安装,先按照autoconf, automake, libtool, curl, make, g++, unzip,执行如下命令:

$sudo apt-get install autoconf automake libtool curl make g++ unzip
安装protobuf依赖库

检查安装是否完成,输入以下命令:

$sudo apt-get install autoconf automake g++ curl libtool make unzip

出现如下图的输出,即***已经是最新版本,则表示安装完成。

检测是否安装完成

1.2.3  安装gmock

(1)下载googlemock源码

$git clone git://github.com/paulsapps/gmock-1.7.0 
下载gmock源码
下载完毕

(2)进入gmock-1.7.0/make目录,然后编译

$cd gmock-1.7.0
$cd make
$make
make编译

(3)gmock单元检测

$./gmock_test
gmock单元测试

 gmock单元测试务必保证全部通过,未通过先不要进行下一步,否则之后可能会出现意想不到的错误。

(4)重命名

最后一步,将gmock-1.7.0重命名为gmock,暂时先放着,留在安装protobuf的时候用到。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值