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
pybindgen
编译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语言
选择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安装配置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 ...
随机推荐
nginx设置黑/白名单
编辑nginx配置文件: server { listen ; server_name www.xxx.cn; #白名单 allow 192.168.1.200; deny all; #黑名单 #den ...
php正则表达式and数组
一、什么是WPF?
一.什么是WPF? Windows Presentation Foundation(以前的代号为“Avalon”)是 Microsoft 用于 Windows 的统一显示子系统,它通过 WinFX 公 ...
iOS 开发小技巧
1.Xcode配置 1.1> 安装Alcatraz包管理器 打开Terminal终端命令行 curl -fsSL https://raw.github.com/supermarin/Alcatr ...
mysql、sqlserver数据库常见数据类型对应java中的的类型探究
由于本次测试表的结构不涉及到主键的自增长,所以mysql.sqlserver建表语句相同: CREATE TABLE testType ( id INT NOT NULL DEFAULT 0, gen ...
SystemVerilog搭建验证平台使用DPI时遇到的问题及解决方案
本文目的在于分享一下把DPI稿能用了的过程,主要说一下平台其他部分搭建好之后,在完成DPI相关工作阶段遇到的问题,以及解决的办法. 工作环境:win10 64bit, Questasim 10.1b ...
如何使用jQuery-ContextMenu实现右击菜单
最近在做项目中,遇到一个棘手的问题,页面上有很多功能需要实现,每个功能需要绑定一个按钮.如果一个功能绑定一个按钮,那么将会占用页面很大的空间,而且可能会使页面变得不美观.思前想后,决定将所有按钮做成右 ...
ConcurrentHashMap 的实现原理
概述 我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合.其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉 ...
MySQL 之mydumper安装详解
方法一: 安装依赖包: 1 yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel cmake make 下载二 ...
BleedTree动画混合树[Unity]
Unity在中土大陆的大肆推广能从广泛的中文翻译资料中看出.所以,手册才是王道. 游戏动画中的一个常见任务是在两个或更多相似运动之间混合.最佳的已知示例可能是根据角色速度混合行走和奔跑动画.另一个示例 ...