Ubuntu14.04安装配置ndnSIM
Ubuntu14.04安装配置ndnSIM
预环境
Ubuntu14.04官方系统
请先使用sudo apt-get update更新一下源列表
安装步骤
安装boost-lib
sudo apt-get install build-essential libsqlite3-dev libcrypto++-dev
sudo apt-get install libboost-all-dev
其中,build-essential和libboost是目标安装文件,build-essential中包含各种编译工具,其中最主要的是个gcc和g++,这里g++版本要求为4.5.4
libboost会被默认安装在 /usr/lib/x86_64-linux-gnu 路径下,如通过源码安装请确认版本至少为1.46,官方要求最低版本号,已知1.59版本编译不成功,这里推荐1.54和1.55版本,在默认路径下可以查看版本号
安装Python bindings
sudo apt-get install python-dev python-pygraphviz python-kiwi
sudo apt-get install python-pygoocanvas python-gnome2
sudo apt-get install python-rsvg ipython
强烈建议,python必须是2.7,如果是3.4版本,请手动把每一个print ''语句修改为print()语句,所以还是老老实实用2.7吧,暂时默认安装就是2.7
命令行敲入python进入python交互环境即可看到版本号,使用exit()退出交互环境
下载ns3、pybindgen和ndnsim
mkdir ndnSIM
cd ndnSIM
git clone git://github.com/cawka/ns-3-dev-ndnSIM.git ns-3
(cd ns-3; git checkout -b ndnSIM-0.4.3 ns-3.17-ndnSIM-0.4.3)
git clone git://github.com/cawka/pybindgen.git pybindgen
git clone git://github.com/NDN-Routing/ndnSIM.git ns-3/src/ndnSIM
(cd ns-3/src/ndnSIM; git checkout -b v0.4.3 v0.4.3)
ns-3目前的版本更新到了v2.1,但是ndnSIM版本没支持这么高,这些选用论文中相同的版本,都是v0.4.3,使用git版本回退功能到v0.4.3版本的Release,可以使用git branch查看当前版本信息,注意使用cd命令改变路径
下载修改完成后目录结构如下

请主动忽略其余文件夹,关键目录结构树如下
- ndnSIM
- ns-3
- src
- ndnSIM
- src
- pybindgen
- ns-3
编译ns-3
这里先挖个坑,pybindgen暂时不能成功编译,这里暂时不编译它
将文件夹修改名称,只要不是pybindgen就ok,可以参考我的
/********更新********/
我来填坑了,凭记忆的错了别怪我,编译前先配置好,在pybindgen文件夹里面,修改version.py文件,根据编译结果提示修改,我这里修改后的结果为:
__version__ = [0, 17, 0, 887]
"""[major, minor, micro, revno], revno omitted in official releases"""
/*********************/
CXXFLAGS="-Wall" ./waf configure --boost-libs=/usr/lib/x86_64-linux-gnu -d optimized
./waf -j4
sudo ./waf install
这里修改--boost-libs=后面的路径为自己的boost-lib路径,如果已加入环境变量豪华午餐,那就可以不用这个参数了,否则编译工具找不到boost-lib
CXXFLAGS="-Wall"语句的作用是修改报错cc1plus: all warnings being treated as errors,忽略全部的warning
-j4这个参数是使用4核同时编译,加快速度,考虑自己环境实际使用,如果使用不当会更慢,编译过程,对于make指令也适用
安装完成后模块信息如图所示

注意检查关键模块ndnSIM模块成功安装与否
编译论文代码
cd ndnSIM
git clone https://github.com/cawka/ndnSIM-nom-rapid-car2car.git
cd ndnSIM-nom-rapid-car2car
./waf configure --boost-libs=/usr/lib/x86_64-linux-gnu
./waf
这步不通过请检查上面的环境和过程
安装R语言
官网网址:https://www.r-project.org/
选择Download R
CRAN列表选择清华大学的镜像源https://mirrors.tuna.tsinghua.edu.cn/CRAN/
选择Download R for Linux
选择ubuntu
选择trusty
64位系统请选择 r-base-core_3.2.2-1trusty0_amd64.deb 下载
32位系统请选择 r-base-core_3.2.2-1trusty0_i386.deb 下载
然后双击安装就可以了
(挖个坑,如果不行再安装一个 r-base_3.2.2-1trusty0_all.deb ,一般这个不用装)
注意,默认使用sudo apt-get install r-base安装后的版本为3.0.2,对于后面安装模块ggplot2会不受支持,因此请用安装包安装最新版
给R环境安装模块
sudo R
install.packages ('proto')
install.packages ('ggplot2')
install.packages ('doBy')
注意查看安装信息
运行与测试
cd ndnSIM/ndnSIM-nom-rapid-car2car
./run.py -s figure-3-data-propagation-vs-time
./run.py -s figure-4-data-propagation-vs-distance
./run.py -s figure-5-retx-count
查看信息即可知道运行情况
进入ndnSIM/ndnSIM-nom-rapid-car2car/graphs/pdfs路径可以查看pdf信息情况
Ubuntu14.04安装配置ndnSIM的更多相关文章
- Ubuntu14.04安装配置web/ftp/tftp/dns服务器
目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...
- Ubuntu14.04安装配置SVN及Trac
还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用SVN作代码版本控制,使用trac作为项目管理追踪.本文采用的操作 ...
- Ubuntu14.04 安装配置Opencv3.0和Python2.7
http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...
- Ubuntu14.04安装配置Open vSwitch
最近在研究学习Open vSwitch,准备在本地Ubuntu14.04机器上安装一下,并基于其创建一些KVM虚拟机,下面就简要记录下在Ubuntu14.04系统上安装Open vSwitch的过程. ...
- Ubuntu14.04 安装配置Hadoop2.6.0
目前关于Hadoop的安装配置教程书上.官方教程.博客都有很多,但由于对Linux环境的不熟悉以及各种教程或多或少有这样那样的坑,很容易导致折腾许久都安装不成功(本人就是受害人之一).经过几天不断尝试 ...
- ubuntu14.04安装配置jdk1.8.0_25
Reference: http://jingyan.baidu.com/article/eb9f7b6d8f82a6869364e8a7.html 今天尝试在ubuntu14.04 LTS上安装jdk ...
- Ubuntu14.04安装配置星际译王词典
参考自:http://m.blog.csdn.net/blog/u014731529/25917149 平常总会遇到一些不认识的单词,汉字等等.一直使用Chrome 浏览器的翻译插件,不过插件的翻译总 ...
- Ubuntu14.04安装配置Chrome浏览器
1.获取软件 32位版本: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb 64位版本: w ...
- Ubuntu14.04安装配置LAMP环境(php5.6)
sudo apt-get install python-software-properties sudo apt-get update sudo apt-get install vim sudo ap ...
随机推荐
- Hibernate 问题,在执行Query session.createQuery(hql) 报错误
在配置文件中加入 <prop key="hibernate.query.factory_class">org.hibernate.hql.internal.classi ...
- PowerDesigner之PDM(物理概念模型)
一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...
- 代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
- HTTP长连接200万尝试及调优
对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用, 我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一.这种应用常见于消息推送系统,也称为 ...
- Android IOS WebRTC 音视频开发总结(二七)-- whatsapp之转发优先
最近看了一篇老外在webrtcHacks上写的文章,主要介绍webrtc和whatsapp的传输机制,蛮好的,加上自己的理解进行总结, 希望对大伙有所帮助,转载请说明出处,原文来自博客园RTC.Bla ...
- javaSE第六天
第六天 28 1. 二维数组(理解) 28 (1)就是元素为一维数组的一个数组. 28 (2)格式: 28 (3)案例(掌握): 28 A:二维数组的遍历 28 B ...
- 无DLL远程注入
界面如下: 主要代码如下: #define STRLEN 20 typedef struct _DATA { DWORD dwLoadLibrary; DWORD dwGetProcAddress; ...
- sqlite3_exec函数的使用
sqlite3_exec函数的使用 sqlite3数据库是一个小型的关系型的数据库,以文件的方式存在,打开文件即是打开数据库,它小巧且功能强大,在嵌入式领域内使用很广.现在就介绍一下其中一个重要函数的 ...
- 说一个Sublime Text 2插件、emmet(原名:zen Coding)
工具/原料 sublime Text 2 安装emmet插件 方法/步骤 生成html文档初始结构: !<tab> <!doctype html> <html lang= ...
- JAVA之多线程的创建
转载请注明源出处:http://www.cnblogs.com/lighten/p/5967853.html 1.概念 老调重弹,学习线程的时候总会牵扯到进程的概念,会对二者做一个区分.网上有较多的解 ...