标签:怎么 安装python term google 数据 pdu 标准 trap upd
这个P4安装环境是在2020-2-8安装的,安装环境卡了我好几天,把遇到的问题记录下来,有需要的同学可以参考一下,要是说错了或者有问题的话,评论或mail:guidoahead@163.com联系我都可以。
P4语言组织官网:https://p4.org/
本文安装代码就是从官网引导的p4language上下载的。
我看P4是刚看了三四十小时,大都用在安装环境了,觉得它就是一个控制修改数据流的语言,提供一个标准的结构,方便用户对控制平面和数据平面进行修改。
我理解的P4开发流程就是四步
根据实际的交换结构的不同,我理解的第三步的后端编译器应该变化,仿真模型也应该用实际模型。
本文就是安装第一步的p4c和第三步p4c_bm2_ss,前端后端编译器。
首先要有个ubuntu系统,Ubuntu 18.04.4 下载:https://cn.ubuntu.com/download
如果用虚拟机的话,vmware workstation pro 下载:
https://my.vmware.com/cn/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0
安装ubuntu系统时,一定要
内存分配空间要大于8G,小于8G,C++编译会报错,
硬盘空间建议大于40G,我安装时出现了三次安装空间不足的情况,最后直接分配了50G。
INSTAL:
下面的操作步骤完全是根据github上p4lang/p4c的README.MD里执行的,对遇到一些问题进行说明,可以读README时,结合下面操作步骤看。
右键桌面打开terminal,输入命令:
#在如果没有安装git,执行下面命令,从github上下载代码用
sudo apt-get install git
#安装p4c所需依赖,执行后需要安装一会
sudo apt-get install cmake g++ git automake libtool libgc-dev bison flex
libfl-dev libgmp-dev libboost-dev libboost-iostreams-dev
libboost-graph-dev llvm pkg-config python python-scapy python-ipaddr python-ply python3-pip
tcpdump
#安装数据包处理程序
pip3 install scapy ply
#安装documentation building 这个需要五六个小时吧
#网上说改变改变数据下载源或者搭个梯子会快很多 有兴趣的大佬可以看看怎么弄 弄成了教教我就更感谢了
sudo apt-get install -y doxygen graphviz texlive-full
#安装protobuf依赖
sudo apt-get install autoconf automake libtool curl make g++ unzip
然后在https://github.com/protocolbuffers/protobuf/releases/tag/v3.11.3,根据自己的需要下载解压protobuf安装包,我可能只会用到C++,就下载了protobuf-cpp-3.11.3.tar.gz,每个包都包括C++,比如你需要C++和pyton,就下protobuf-python-3.11.3.tar.gz。
如果按Readme里执行下载protobuf,make check时会报找不到google_test路径,所以一定下载上面网址提供的protobuf压缩包。
#进入解压好的文件夹,我是安装在/home/guido(user_name)/路径下
cd /home/guido/protobuf-cpp-3.11.3/
cd protobuf-3.11.3/
#生成configure脚本
./autogen.sh
#检查系统配置
./configure
#执行代码编译操作 生成可执行文件
make
#检查编译结果,会用一阵时间
make check
#安装prptobuf
sudo make install
#更新库缓存
sudo ldconfig
#依赖安装完成
P4C里面包含几个后端编译器,这些编译器也需要安装一些依赖,如果不安装的话make check会报错。
因为需要用p4c-bm2-ss这个后端编译器,所以还是把依赖给安装了,步骤如下:
安装nanomsg 1.1.5 下载网址:https://github.com/nanomsg/nanomsg/releases
#我是安装在/home/guido(user_name)/路径下
#进入nanomsg-1.1.5文件夹下
cd nanomsg-1.1.5
#创建进入build文件夹
mkdir build
cd build
#生成安装程序
cmake ..
cmake --build .
ctest .
sudo cmake --build . --target install
sudo ldconfig
安装nnpy
#安装python-pip
sudo apt install python-pip
#我是安装在/home/guido(user_name)/路径下
git clone https://github.com/nanomsg/nnpy
#进入nnpy文件夹
cd /home/guido/nnpy
#安装nnpy
pip install nnpy
安装Thrift v0.13.0 下载网址:https://github.com/apache/thrift/releases
#我是安装在/home/guido(user_name)/路径下
#进入Thrift v0.13.0文件夹
cd thrift-0.13.0
#安装依赖
sudo apt-get install libssl-dev libboost-system-dev libboost-thread-dev libboost_filesystem-dev
#生成配置脚本
./bootstrap.sh
#执行配置脚本
./configure
#生成可执行文件
sudo make
#安装 make check会报错 但能安装 库里的readme文件也没让check 所以我就没把精力放在这了 应该不是个问题
sudo make install
安装eBPF依赖
sudo apt-get install clang llvm libpcap-dev libelf-dev iproute2 net-tools
pip3 install pyroute2 ply==3.8 scapy==2.4.0
安装Graphs依赖
sudo apt-get install libboost-graph-dev
正式安装P4C
#我是在/home/guido(user_name)/路径下,克隆github中的p4c库,等一会
git clone --recursive https://github.com/p4lang/p4c.git
#进入p4c文件夹下
cd /home/guido/p4c
#更新新版软件
sudo apt-get update
sudo apt-get upgrade
#创建进入build文件夹
mkdir build
cd build
#编译生成makefile,cmake根据用户需要可以配置一些选项,p4c的readme有介绍,我使用默认配置。
cmake ..
#makefile编译生成可执行文件,开4个进程同时执行,需要等一会。
make -j4
#检查编译结果,需要等一会。
make -j4 check
#安装
sudo make install
到这就全部安装完了,我零零散散装了十来天,昨天想把中间遇到的坑找不到的依赖总结一下,又重新装了一下,和有需要的同学分享一下。
别着急,遇到问题就把error放到百度上搜,基本都能解决。
P4语言环境安装(一)前端编译器p4c、后端编译器p4c-bm2-ss
标签:怎么 安装python term google 数据 pdu 标准 trap upd
原文地址:https://www.cnblogs.com/guidoahead/p/12286278.html