P4行为模型BMV2安装
前提:依赖关系请移步上篇博客。P4行为模型BMV2依赖关系安装:thrift nanomsg nnpy安装
以及,要把下面这些东西装好。
On Ubuntu 14.04, the following packages are required:
automake
cmake
libjudy-dev
libgmp-dev
libpcap-dev
libboost-dev
libboost-test-dev
libboost-program-options-dev
libboost-system-dev
libboost-filesystem-dev
libboost-thread-dev
libevent-dev
libtool
flex
bison
pkg-config
g++
libssl-dev
Building the code
进入行为模型目录。
1. ./autogen.sh
2. ./configure
3. make
问题:make 发生错误
在ReadMe中有一句话:If you get a nanomsg error when running the tests (make check), try running them as sudo
但是 加上sudo之后,make仍然出现.lo文件错误。
查看make编译文件信息,发现是离开了src文件,于是就cd到src目录进行debug。
在src目录下make,仍然失败!
于是也不嫌麻烦,一个一个make过去。
在有些文件夹中遇到了make: Nothing to be done for 'all'.问题,这是因为之前编译过了。
执行以下命令重新make:
make clean
ldconfig
make
终于,在最后一个文件夹,make出现错误,[packet.lo]有问题。
在文件中找了下,发现没有packet.lo,于是查看了下packet.cpp,并执行gcc编译了下:
gcc packet.cpp
果然出现问题:两个头文件没有找到。
搜索了下,在include文件夹中找到了该文件,cp了过来。
但是,貌似头文件里面还是有包含头文件。。
于是发现了另外一个解决方法,把刚才的packet.h删除掉。
vim packet.cpp
将include <packet.h>改成include </home/wasdns/behavioral-model/bm/bm_sim/packet.h>
于是gcc编译通过。但是,新的问题出现了:
看上去貌似是个无底洞。
重装make依然出现问题。
于是根据ReadMe的内容,进行了尝试,禁用掉了一些模块:
In 'debug mode', you probably want to disable compiler optimization and enable symbols in the binary:
./configure 'CXXFLAGS=-O0 -g'
再次执行make即可。
回到Building the code
于是根据上面的问题,应该的步骤是:
1. ./autogen.sh
2. ./configure 'CXXFLAGS=-O0 -g'
3. make
The new bmv2 debugger can be enabled by passing --enable-debugger to configure.
./configure --enable-debugger
Running the tests
跑一下样例。To run the unit tests, simply do:
make check
如果出现nanomsg error,请在命令前面加上sudo。
P4行为模型BMV2安装的更多相关文章
- P4行为模型BMV2依赖关系安装:thrift nanomsg nnpy安装
由于安装p4factory的步骤需要OF的支持,我需要下载p4的行为模型BMV2: thrift是支持BMV2的软件框架:nanomsg是一个实现了几种"可扩展协议"的高性能通信库 ...
- P4语言环境安装(一)前端编译器p4c、后端编译器p4c-bm2-ss
这个P4安装环境是在2020-2-8安装的,安装环境卡了我好几天,把遇到的问题记录下来,有需要的同学可以参考一下,要是说错了或者有问题的话,评论或mail:guidoahead@163.com联系我都 ...
- P4 PI库安装
repo:Github PI P4Runtime - a control plane framework and tools for the P4 programming language 这个是P4 ...
- Run P4 without P4factory - A Simple Example In Tutorials.
前言 本文是我运行P4社区于Github开源教程Tutorials中的P4 SIGCOMM 2015 Tutorial一些实战小结,Github链接: Github. 测试的例子:P4 SIGCOMM ...
- P4 前端编译器p4c-bm、后端编译器bmv2命令安装 make error问题
参考:Github 安装p4c-bm: sudo pip install -r requirements.txt sudo pip install -r requirements_v1_1.txt / ...
- Ubuntu 16.04 一键安装P4开发环境记录
写在最前 P4开发环境安装可采用陈翔同学的一键安装脚本:p4Installer p4c-bm是P4-14的编译器,p4c是现在主流P4-16的编译器,bmv2是支持P4运行的软件交换机 系统环境 在安 ...
- p4c-bm安装
Generates the JSON configuration for the behavioral-model (bmv2).它是用来形成 行为模型BMV2 的 JSON配置 的. Importa ...
- P4编程环境搭建
本文参照了sdnlab上相关文章的搭建推荐. 使用的系统环境为ubuntu 18.04 组件介绍 主要安装五个组件: BMv2:是一款支持P4编程的软件交换机 p4c:是一款P4的编译器 PI:是P4 ...
- P4编程环境搭建遇到的问题与解决方法
在经历了无数的折腾之后,算是折腾,最后采用的是陈翔学长的脚本加上可爱的shell调整装好的. 链接:p4Install 也许是ubuntu18.04的问题,也有可能是我自己把这个系统折腾的有点杂乱的原 ...
随机推荐
- Ubuntu远程登录服务器--ssh的安装和配置
ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全. 安装ssh sudo apt-get update sudo apt-get install openssh-serve ...
- sql语句查询条件的不同表达方式对查询性能的影响
今天操作数据库遇到一个问题 目标表RA_AD_DAILY_DATA的数据量大概有5千万左右,其中的BUSINESS_DATE字段为日期类型 我要查询8月20号导入的三条记录,刚开始用这种方式去查: S ...
- vector容器建图
#pragma comment(linker, "/STACK:1024000000,1024000000") #include"stdio.h" #inclu ...
- 【模块化开发】------requireJS的基本使用------【巷子】
前言 为了提高代码的复用度,开发人员会按照功能把大量的js代码分成若干文件,这样在多个页面就可以使用同一个文件了.,下面是某个网站的js引用情况 虽然代码的复用度提升了,但是缺点也体现了出来 缺点: ...
- Yii2中省市三级联动(栏目联动)
先从表的设计开始: 表的结构: CREATE TABLE `global_region` ( `region_id` smallint(5) unsigned NOT NULL AUTO_INCREM ...
- 解决Android版Firefox字体显示过大的问题
在用Android版Firefox查看博客园首页发现中间区域的字体显示非常大,开始以为是首页css对移动版浏览器支持不好. 后来发现原来这是Firefox for Android的知名bug: Tha ...
- angular js 上传插件 ng-file-upload 使用时注意事项
项目框架为angular js,需要用到文件上传,百度之后先选择了angular-file-upload,githuab上API文档很全,想要具体了解,可以仔细研究一下.在这里简单回顾一下自己使用的插 ...
- DNS的MX记录和CNAME记录(转)
MX记录就是邮件域名对邮件服务器(域名)的映射.可以映射到多个邮件服务器,发送时会选择一台发送. 拿到新域名后,还要再查找DNS,将域名转不ip 原文:http://my.oschina.net/u/ ...
- android showDialog用法
protected Dialog onCreateDialog(int id) { // TODO Auto-generated method stub switch(id){ case 10: re ...
- unittest框架(三)unittest+yaml数据驱动
学习完了如何用yaml文件管理用例,如何进行单元测试,如何产生漂亮的测试报告,那么结合这几点,我们简单学习下unittest+yaml数据驱动来测试. 第一步:首先,我们建一个yaml文件,管理用例, ...





