ubuntu16.04 LTS下安装ns-3.27,安装测试过程,遇到的问题

总结一下这两天在ubuntu16.04 LTS下安装ns3的方法和遇到的问题。

官方参考安装教程

最好看下官方文件,有些比如系统版本等不同,安装过程不同。
https://www.nsnam.org/wiki/Installation#Operating_system_and_compiler_support

我的安装步骤

1.安装软件包

  • 在终端输入命令安装NS-3依赖的软件包,具体命令如下(大部分命令参考官方文档,有部分没有成功的参考了其他博主):
 sudo apt-get install gcc g++ python
 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-devsudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev

参考:https://blog.csdn.net/wuzhiwuweisun/article/details/79483178 

2. 下载NS-3安装包

有两种方法, 我使用的方法二,成功安装

方法一:最简单的办法,去NS官网通过浏览器下载后解压就可以。
官网地址:https://www.nsnam.org/releases/

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

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,我们先不用管。后面的话想要安装这三个模块,我们可以参考下面的文章解决:https://blog.csdn.net/wt_926613/article/details/39645029
ubuntu16.04 LTS下安装ns-3.27,安装测试过程,遇到的问题_第1张图片
步骤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的配置调试方式

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

ubuntu16.04 LTS下安装ns-3.27,安装测试过程,遇到的问题_第2张图片
可以看到跟步骤一一样。

4.测试ns3编译是否编译正确
利用test.py脚本进行测试,这是利用python语言编写的。

cd ns-3.27
sudo ./test.py –c core

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

ubuntu16.04 LTS下安装ns-3.27,安装测试过程,遇到的问题_第3张图片

注意:命令之前的sudo都要有,不然容易出现问题。
问题一:
ubuntu16.04 LTS下安装ns-3.27,安装测试过程,遇到的问题_第4张图片
这个问题是内存不够造成的,关闭虚拟机,将内存设置为2048M即可。

问题二:
关于waf命令,若出现提示说需要运行waf configure命令,则完整的命令形式为:

sudo ./waf configure

参考博文:
https://blog.csdn.net/mary19920410/article/details/54412376
https://blog.csdn.net/wuzhiwuweisun/article/details/79483178
https://blog.csdn.net/wt_926613/article/details/39645029

你可能感兴趣的:(Linux,NS3)