在VMware 14虚拟机下,ndn-cxx和NFD平台搭建

  • 实验环境
  • 开始
    • 安装ubuntu 16.04.5
    • 安装ndn-cxx 0.6.3
    • 安装NFD 0.6.3
  • 执行示例程序

实验环境

ubuntu 16.04.5,桥接模式。
版本:ndn-cxx-0.6.3,NFD-0.6.3
原文安装方法:
ndn-cxx-0.6.3:http://named-data.net/doc/ndn-cxx/current/INSTALL.html
NFD-0.6.3:https://named-data.net/doc/NFD/0.6.3/INSTALL.html

开始

本人搭了很久,脑袋都大了,终于在经历了千辛万苦之后把这个鬼东西给搭出来了。ndn-cxx-0.6.3是基础,NFD要依赖ndn-cxx的库,所以我们先来安装ndn-cxx。
我是直接从网站上下载的两个源代码,所以安装过程中和指导文献有所不同。

安装ubuntu 16.04.5

安装之后,有几个安装过程中需要用到的软件:
打开终端

ctrl+alt+t
sudo apt-get update
sudo apt-get install vim
sudo apt-get install curl

之后,我们把下载好的ndn-cxx 0.6.3和NFD 0.6.3拷贝到:/usr/local/lib 路径下(不要问为啥,计算机路径这个东西真是恶心人),完成之后我们开始安装ndn-cxx 0.6.3

安装ndn-cxx 0.6.3

打开终端:

ctrl+alt+t
sudo apt-get install build-essential libsqlite3-dev libboost-all-dev libssl-dev
sudo apt-get install doxygen graphviz python-sphinx python-pip

这里指导安装步骤还有sudo pip install sphinxcontrib-doxylink sphinxcontrib-googleanalytics,这个可能是以前的版本需要的依赖的包,但在0.6.3中并不需要,而且装上还会报错(卡在这里好久),因此我们就不装这个。

之后我们进入ndn-cxx 0.6.3的根目录:

cd /usr/local/lib/ndn-cxx-0.6.3

接连执行以下命令

sudo ./waf configure
sudo ./waf
sudo ./waf install

在运行第2个命令的时候,会出现如下结果:

我们这里不用理会(不知道为啥,虽然出了ERROR,但是还是可以运行,可能最后他只是出了个WARNING,而且在过程中,WARNING都是可以忽略的)。等出现如图所示的结果:

我们就可以进行下一步:

sudo ldconfig
sudo ./waf configure --with-examples
sudo ./waf
sudo ./waf install

到此,ndn-cxx 0.6.3的环境就装好了。

安装NFD 0.6.3

打开终端,按照以下代码依次输入:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:named-data/ppa
sudo apt-get update
sudo apt-get install nfd

原文指导步骤,之后是利用git命令下载ndn-cxx和nfd,因为我们提前下载过了并拷贝进虚拟机,因此,在此忽略该步骤。

sudo apt-get install build-essential pkg-config libboost-all-dev \libsqlite3-dev libssl-dev libpcap-dev
sudo apt-get install doxygen graphviz python-sphinx

之后,我们进入nfd 0.6.3根目录:

cd /usr/local/lib/nfd-0.6.3

进入root模式,安装一个库(很重要,因为我们不是利用git命令安装,这步必不可少;否则下一步下面会报错中断):

sudo su
curl -L https://github.com/zaphoyd/websocketpp/archive/0.7.0.tar.gz > websocket.tar.gz
tar zxf websocket.tar.gz -C websocketpp/ --strip 1
exit

之后,执行以下命令:

sudo ./waf configure
sudo ./waf
sudo ./waf install

同样,过程中出现WARNING不用管。
最后,一定记着执行以下命令:

sudo cp /usr/local/etc/ndn/nfd.conf.sample /usr/local/etc/ndn/nfd.conf

这样才能成功开启nfd。
至此,ndn-cxx 0.6.3和nfd 0.6.3全部安装完成。

执行示例程序

打开终端,运行nfd

nfd-start
(可能需要输入密码)

在ndn-cxx 0.6.3根目录下打开终端,进入examples目录,或者直接在example目录下打开终端(我选择这种方式,因为懒)。
这里,必须先运行producer程序,再运行consumer程序,作为学计算机的,应该不需要解释为啥了吧。
在一个终端下执行producer命令:

./producer

再打开一个终端,执行consumer命令:

./consumer

这时就可以成功看到交互了,但是有点儿问题,consumer会出现warning,如图所示:

这是为啥呢,好像是因为最近的版本,必须为interest报文指定一个默认前缀,为了之后的APP功能设计,详情请看以下链接:
http://named-data.net/doc/ndn-cxx/current/doxygen/d1/d81/classndn_1_1Interest.html#a0275843d0eda5134e7fd7e787f972e78

这里我们怎么修改才能让他不显示这个warning呢?按照以下步骤:
进入ndn-cxx 的src目录:

cd /usr/local/lib/ndn-cxx-0.6.3/src

修改interest.cpp文件,因为权限设置,我们在root下使用vim命令修改:

sudo su
(输入密码)
vim interest.cpp
找到 static bool hasDefaultCanBePrefixWarning = false
将false改为true

之后,我们在ndn-cxx 0.6.3目录下再编译运行一下就行了,即:

sudo ./waf configure --with-examples
sudo ./waf
sudo ./waf install

之后再examples目录再执行两个程序,就可以得到结果:

至此环境已经搭好,目前正准备进行后续工作。。。。。

望各位大佬手下留情,转载注明出处,感谢感谢!!!!

在VMware 14虚拟机下,ndn-cxx和NFD平台搭建相关推荐

  1. Vmware Workstation虚拟机下安装Windows系统教程

      Vmware Workstation是一款功能强大.非常好用的虚拟机软件,可以在你的电脑上创建出虚拟磁盘,以供实现在电脑中安装电脑的操作.详细的介绍愚者这里就不赘述了,毕竟这期讲的是在Vmware ...

  2. VMWare 14虚拟机下载和安装说明兼容WIN10

    一.软件简介: VMWare虚拟机软件是一个"虚拟[PC]"软件,它使你可以在一台机器上同时运行二个或更多Windows.DOS.LINUX系统.与"多启动"系 ...

  3. vmware.fusion虚拟机下的CentOS使用

    scutest one day  away management 用户名:root, 密码:apple ip:192.168.15.2 netmask:255.255.255.0 ip:192.168 ...

  4. VMware 12虚拟机下Ubuntu 16.04连不上网解决方法

    解决方法 打开虚拟机的"编辑"选项,选择"虚拟网络编辑器" 选择VMnet8(我不知道为啥VMnet8这么神奇,要是新建其他号还不行,暂且不管),点击右下角&q ...

  5. ubuntu 14.04下 horizon openstack_dashboard 的开发环境搭建

    序:公司要在openstack的基础上,做开发做产品,网上资料也不是很多,很多都是在来回copy,在此做个blog,慢慢更新,推动自己进步. 首先老话题:开发环境的搭建. 一个纯净的ubuntu系统 ...

  6. 虚拟机下Linux图形界面如何全屏

    虚拟机下Linux图形界面如何全屏 本文以Centos6.5为例,介绍图形界面下Linux如何全屏 1:启动VMware虚拟机下的Linux操作系统.打开VMware虚拟机之后点击"开启此虚 ...

  7. Ubuntu 14.04/14.10下安装VMware Workstation 11图文教程

    VMware workstation 是一个可以进行桌面操作的虚拟软件.它可以让我们在一台电脑或者虚拟机中运行多个虚拟机. 由VMware公司研发和维护.由于是商业软件,我们需要买他们家的许可证或者说 ...

  8. Vmware虚拟机下三种网络模式配置

    VMware虚拟机有三种网络模式,分别是Bridged(桥接模式).NAT(网络地址转换模式).Host-only(主机模式). VMware workstation安装好之后会多出两个网络连接,分别 ...

  9. VMware虚拟机下安装win7系统详解

    工具/原料 VMware虚拟机 YLMF_GHOSTWIN7SP1_X64_YN2015.iso镜像文件 方法/步骤 1 1.点击[创建新的虚拟机]按钮,创建虚拟机. 2.选择[经典]安装. 3.选择 ...

最新文章

  1. 编程题:顺时针打印矩阵(不一定是方阵)
  2. 移动端html5广告的优势,h5手机端开发的优势都有哪些呢
  3. mysql 从库可以写入吗_mysql主从库配置读写分离以及备份
  4. 下载Office安装包,提示找不到OfficeLR.cab文件。
  5. DASCTF2022.07赋能赛 - Pwn easyheap
  6. shell while循环
  7. tomcat 服务器启动异常 报错
  8. Java实现自动映射原生JDBC查询出的数据库字段
  9. java虚拟机带键盘安卓版下载。_jvm1.5官方下载
  10. 浏览器登录系统登录不进去的问题
  11. 秋天视频批量生成GIF V1.32
  12. MicroPython之ADS1115+平滑滤波NTC温度采集
  13. LDO使用之热阻考虑
  14. 真子集的三种表示方法的区别(⊂与⫋ 与⊊)
  15. 大公司研发部门普遍存在的问题(日常吐槽)
  16. 人工智能科技成熟的11个Github上免费开源项目,很多电影中才有的场景应用到现实颠覆普通人的认知和想象
  17. GetTickCount() 的另一种实现方法
  18. java——java介绍
  19. 自己动手搭建的一个迅雷界面
  20. 足球大数据预测实战之高胜率盈亏条件验证及优化算法

热门文章

  1. PJzhang:搜索引擎高级语法与渗透测试
  2. 【Shading】Applying Textures 应用纹理
  3. JDBC第四篇【数据库连接池、DbUtils框架、分页】(修订版)
  4. 2018领航杯awd简单复现
  5. MySQL:排序(filesort)详细解析(8000字长文)
  6. 用户手机微信扫一扫就能进入公众号
  7. 使用node连接MongoDB的工具安装及配置
  8. srs配置WebRTC
  9. IOS UITableView 改变编辑模式下的移动图标
  10. 数据库SQL查询练习