注意:下面所有操作步骤只针对Ubuntu,其他类型虚拟机请参考别的文章。

操作环境:VMware Workstation 10

安装包百度云链接:https://pan.baidu.com/s/1WoHQJRUg_bqAnKjriGSeQw 密码:3i0d

虚拟机发行版:ubuntu-16.04.3-desktop-amd64(64位虚拟机)

百度云链接:https://pan.baidu.com/s/1L9VvjorbS9ACc8O3Y_n1Xw 密码:zz7u

NS安装包:ns-allinone-3.27    PS: 可以通过ns官网下载最新版本:点击打开链接;

百度云链接:https://pan.baidu.com/s/1oEySDiC6eIOioKSl-dHxtA 密码:jtwt

步骤:

1.在终端输入命令安装NS-3依赖的软件包,具体命令如下:

sudo apt-get install gcc g++ python python-dev
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl    //这句在执行时出现错误,后边会解释
sudo apt-get install flex bison libfl-dev
sudo apt-get install g++-4.4 gcc-4.4    //这个可以不执行,第一句已经执行
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-pdf texlive-latex-extra texlive-generic-extra texlive-generic-recommended     //这句在执行时出现错误,后边会解释
sudo apt-get install texinfo dia texlive texlive-pdf texlive-latex-extra texlive-extra-utils texlive-generic-recommended texi2html       //这句在执行时出现错误,后边会解释
sudo apt-get install python-sphinx dia
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
sudo apt-get install qt4-qmake
sudo apt-get install qt4-dev-tools //这个是后边NetAnim仿真界面需要依赖的软件包
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev

现在说明安装软件包遇到的问题:


(1) 在执行第5句命令的时候出现以下错误提示:

这个时候我们只需要根据提示改正就好,第一步提示选中“libgsl-dev”而非“libgsl0-dev”,我们原命令的“libgsl0-dev”替换成“libgsl-dev”就可以。还有一个错误,libgsl0ldbl这个软件包不存在,但是提示有东西可以替换,果断安装可以替换它的软件包,问题解决。

(2) 在执行第15句和第16句的时候提示错误如下:

既然无法定位,我们不妨就不先安装这个软件包,当后边的配置编译出现错误的时候我们再去安装即可。去掉这个软件包我们发现命令可以顺利执行了。

2.下载NS-3安装包

方法一:最简单的办法,去NS官网通过浏览器下载后解压就可以。

NS官网下载最新版本:点击打开链接

ns-allinone-3.27安装包百度云链接:https://pan.baidu.com/s/1oEySDiC6eIOioKSl-dHxtA 密码:jtwt

方法二:在终端输入命令下载解压

cd
mkdir tarballs
cd tarballs
wget http://www.nsnam.org/release/ns-allinone-3.27.tar.bz2
tar -xjvf ns-allinone-3.27.tar.bz2

3.编译安装

分两种情况选择如何编译安装:

首次进行编译安装的时候我们把下面的步骤1执行一遍。

不是首次进行配置编译的时候执行步骤2。

步骤1:

在终端进入解压缩文件夹ns-allinone-3.27(注意不是ns-3.27

执行命令 sudo ./build.py


安装正确后的截图如下,注意图中的未安装成功的三个模块 brite,click,openflow,我们先不用管。后面的话想要安装这三个模块,我们可以参考下面的文章解决:点击打开链接

PS:使用命令sudo ./build.py编译安装ns-3安装包一般是我们第一次安装ns-3的时候使用的命令,这是allinone环境下的的build.py脚本,是一个Python脚本。一旦我们第一次编译过后,我们之后就要使用waf编译。

步骤2:配置编译,这是两个过程,我们先进行配置ns3过程,再进行编译ns3过程。

使用waf编译安装(waf命令是交互式的,是基于python语言的开源编译系统。一旦我们用sudo ./build.py命令编译安装过ns-3,再想重新配置和编译就只能用waf命令。需要注意的是waf命令配置时是在目录ns-3.27下)

cd ns-3.27
sudo ./waf clean   //清除先前的配置编译
sudo ./waf -d debug --enable-example --enable-tests configure    //基于waf的配置调试方式

PS: 这里的第三条命令里的参数分为配置调试,优化调试。命令形式是 ./waf -d  <debug level>  configure

<debug level>: 分为debug,optimized两个参数,debug是配置调试方式,optimized是优化调试方式。

执行sudo ./waf -d debug --enable-example --enable-tests configure命令具体作用是:配置ns-3,优化编译自己添加的例子和测试(那些系统自带默认的例子和测试是不编译的),然后系统进行重新配置,编译系统会检查ns3依赖的软件包是否成功安装。执行过程部分截图如下:

在配置信息的最后会列出一个当前ns-3系统特性的摘要,第一列是ns3里的模块名称,第二列是系统是否支持这些模块,如果系统不支持该模块会在后边的括号里列出系统不支持的原因。因此,如果我们想安装不成功的模块,比如前边的(brite,click,openflow)可以根据原因在配置的时候加入相应的选项或者下载模块依赖的软件包。系统特性摘要截图:

可以很明显的看到最后一句提示语:'configure' finished successfully (1m23.455s),说明我们完成了配置ns3的过程。下面我们要进行正式编译ns3的过程。

执行命令 sudo ./waf ,执行后的截图如下:

可以看到和执行的步骤一的现象基本一样。

4.测试ns3编译是否编译正确。

测试方法很多,介绍两种。

第一,利用test.py脚本进行测试,这是利用python语言编写的。

cd ns-3.27

sudo ./test.py –c core

该脚本是waf并行执行,可以看到执行过程中出现一堆的PASS...(执行过程很长,几十分钟)最后一行显示测试的结果,总共测试的数量和测试通过的脚本数量。执行过程截图如下:

第二,利用编写的脚本测试

sudo ./waf  --run hello-simulator

编译成功后就会会打印"hello simulator",表示NS3安装成功了!

说明:如果没有看到输出“Hello Simulator”,说明你是在优化编译模式下进行的编译,在优化编译模式下,默认将关闭控制台输出。可以通过以下改变第3步中的步骤二中的命令sudo ./waf -d optimized --enable-example --enable-tests configure 的参数optimized改为debug后变为sudo ./waf -d debug --enable-example --enable-tests configure 重新配置编译就可以。

具体指令是:

cd ns-3.27
sudo ./waf clean   //清除先前的配置编译

sudo ./waf -d debug --enable-example --enable-tests configure   //基于waf的配置调试方式

sudo ./waf

更多更全的参考文章如下:

1.http://blog.csdn.net/and_w/article/details/61619241     点击打开链接

2.http://blog.csdn.net/yanerhao/article/details/52956063   点击打开链接

3.http://blog.csdn.net/rayaohb/article/details/7374615    点击打开链接

4.http://blog.csdn.net/zy416548283/article/details/38682469    点击打开链接

Ubuntu下安装NS-3图文教程相关推荐

  1. Ubuntu下安装Oracle11g(图文教程)

    由于课程需要,要在Ubuntu下安装一个Oracle,之前都没有装过,所以想通过这篇博文记录一下 1.下载Oracle 11g 下载地址:http://www.oracle.com/technetwo ...

  2. mac安装python环境教程_python mac下安装虚拟环境的图文教程

    Mac 下 Flask 框架 workon命令找不到 ---- 最终解决方案(详解具体实现操作过程中遇到的坑)2018年08月17日 00:02:05Jasonmes阅读数:622 Mac 下 Fla ...

  3. Ubuntu虚拟机安装步骤(图文教程,非常详细!!!)

    Ubuntu18.04.3虚拟机安装步骤(图文教程,非常详细!!!) 原创:丶无殇 2019-9-6 虚拟机的安装步骤就不教学了! 自行百度! 接下来 教学ubuntu18.04.3desktop_a ...

  4. VMware Workstation 9下安装Fedora 18图文教程

    在VMware Workstation 9.0中安装体验Fedora 18 Beta版,按照Fedora以往难以准时发布的作风,其每个版本或会推迟二至三个星期.这不在经历了四次跳水之后,Fedora ...

  5. ubuntu下安装qq wechat wps 教程

    有些小伙伴经常用到ubuntu,在ubuntu下编码.但是苦于ubuntu没有预装比较好用的交流工具和文档处理工具. 今天这个教程交给他家安装比较奥常用的几款软件. 有些人可能会问安装完成去哪里打开, ...

  6. Ubuntu下安装Spark3.2.0教程

    文章目录 前言 一.安装Spark 1. 下载压缩包并解压 2. 安装Spark 3. 配置环境变量 4. 修改配置文件 二.验证Spark安装及错误处理 1. 运行Spark实例 2. 启动Spar ...

  7. System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏)

    System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏) 导读         不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服 ...

  8. wireshark使用教程 linux,Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕...

    Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕 Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关 ...

  9. mysql 5.6.15安装图解_Windows8下mysql 5.6.15 安装配置方法图文教程

    MySQL是一款我十分喜欢的数据库,今天在Windows8系统下,下载了MySQL进行安装配置,下载地址:点击打开链接 特在此记录下自己的过程,一是起到总结的作用,二是能帮助那些和我一样在安装配置中有 ...

  10. win7mysql5.7.25安装教程_win7下MySql 5.7安装配置方法图文教程

    上学的时候经常使用MySql,当时也没想其他,主要是MySql对电脑的要求比较低,负载比较小.工作后一直在使用Oracle,现在因为项目的需要,重新安装MySql,发现变化有点多. 本经验适用于安装M ...

最新文章

  1. JavaWEB开发04——JQuery
  2. 用python画竹子_python函数
  3. linux 原子整数操作详解 及 volatile (二)
  4. debian与cenos常见命令不同处
  5. 脚本错误和安全警报怎么解决_适用于应用程序错误的AWS警报
  6. 线性代数的本质笔记-更新ing
  7. 小程序基础能力~网络
  8. 复习----使用链表实现栈(后进先出)及迭代
  9. 用python输入名字并打印_python的输出与输入
  10. 《scikit-learn》朴素贝叶斯
  11. Tip:创建SCOM 2012 R2报表服务器时的报错
  12. c语言上机作业题及答案,C语言上机题库及答案
  13. lisp型材库_基于AutoLISP的AutoCAD标准零件库的开发研究
  14. html+css实现星系图
  15. Maxima 的基本微积分操作(链接)
  16. 程序员相亲被大三岁的富婆姐姐看上,让他当《杭州赘婿》
  17. 会议室预订小程序,共享会议室小程序,微信小程序会议室预约系统毕设作品
  18. 统计打印字符串arg中每个字符出现的次数
  19. U-Net深度学习灰度图像的彩色化
  20. 【C语言】判断一个年份是否为闰年

热门文章

  1. 华为坠亡员工博客称“心累”
  2. 赛科尔亚洲招聘Axapta顾问
  3. HTML技能点--设置网页图标标志
  4. 软考 | 2019年上半年 软件设计师 下午试卷
  5. Raid磁盘阵列重建后如何恢复原来的数据
  6. 2019.10.26日常总结兼一码学成普及模拟4比赛选解
  7. css 滤镜 filter 属性
  8. 台式计算机默认关机变注销,Win7电脑点关机变成注销怎么办?
  9. IO、文件、NIO【草案三】
  10. 转-基于OpenGL的3D天空仿真