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语言

官网网址: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的更多相关文章

  1. Ubuntu14.04安装配置web/ftp/tftp/dns服务器

    目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...

  2. Ubuntu14.04安装配置SVN及Trac

    还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用SVN作代码版本控制,使用trac作为项目管理追踪.本文采用的操作 ...

  3. Ubuntu14.04 安装配置Opencv3.0和Python2.7

    http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...

  4. Ubuntu14.04安装配置Open vSwitch

    最近在研究学习Open vSwitch,准备在本地Ubuntu14.04机器上安装一下,并基于其创建一些KVM虚拟机,下面就简要记录下在Ubuntu14.04系统上安装Open vSwitch的过程. ...

  5. Ubuntu14.04 安装配置Hadoop2.6.0

    目前关于Hadoop的安装配置教程书上.官方教程.博客都有很多,但由于对Linux环境的不熟悉以及各种教程或多或少有这样那样的坑,很容易导致折腾许久都安装不成功(本人就是受害人之一).经过几天不断尝试 ...

  6. ubuntu14.04安装配置jdk1.8.0_25

    Reference: http://jingyan.baidu.com/article/eb9f7b6d8f82a6869364e8a7.html 今天尝试在ubuntu14.04 LTS上安装jdk ...

  7. Ubuntu14.04安装配置星际译王词典

    参考自:http://m.blog.csdn.net/blog/u014731529/25917149 平常总会遇到一些不认识的单词,汉字等等.一直使用Chrome 浏览器的翻译插件,不过插件的翻译总 ...

  8. Ubuntu14.04安装配置Chrome浏览器

    1.获取软件 32位版本: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb 64位版本: w ...

  9. Ubuntu14.04安装配置LAMP环境(php5.6)

    sudo apt-get install python-software-properties sudo apt-get update sudo apt-get install vim sudo ap ...

随机推荐

  1. UML类图与类的关系详解

    摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...

  2. Spring框架搭建遇到的问题汇总

    1.The resource is not on the build path of a Java project 然后把相应的依赖加入构建路径 2.Type mismatch: cannot con ...

  3. Nginx 下无法读取session 导致 thinkphp验证码错误

    打开php配置文件 php.ini 使用搜索命令 whereis php.ini 一般在:/etc/php.ini 目录下 使用vim命令打开 找到: session.save_path 找到php保 ...

  4. iOS NSString中字符串的删除,替换

  5. POJ C程序设计进阶 编程题#1:计算矩阵边缘之和

    编程题#1:计算矩阵边缘元素之和 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB ...

  6. jquery二级目录选中当前页的样式

    <div class="navlist clear"> <span><a href="/M/Page_32.html" title ...

  7. Spark RDD的依赖解读

    在Spark中, RDD是有依赖关系的,这种依赖关系有两种类型 窄依赖(Narrow Dependency) 宽依赖(Wide Dependency) 以下图说明RDD的窄依赖和宽依赖 窄依赖 窄依赖 ...

  8. PHP四大安全策略

    PHP中的文件系统安全.数据库安全.用户数据安全等安全相关的问题. 一.文件系统安全 php如果具有root权限,且在脚本中允许用户删除文件,那么用户提交数据,不进行过滤,就非常有可能删除系统文件 & ...

  9. phpcms v9 中get的mysql查询表某字段最大值数据,表某字段不重复数据

    直切正题 1.表tb中字段num最大的数据 {pc:get $sql="select * from tb where num=(select MAX(num) from tb)"} ...

  10. Fragment的创建以及与activity的参数传递

    点击下面不同的TextView变化不同的Fragment avtivity与Fragment之间传递消息不能使用构造器传递,用bunder传递 首先写一个含有FrameLayout(这个布局最佳),里 ...