欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NS3 入门环境搭建

程序员文章站 2022-05-28 18:36:16
...

NS3 入门环境搭建3.30版本

环境:VMware + Ubuntu 20.04 

首先确保系统已经安装了vim
没有的话请先安装。命令如下:

sudo apt-get install vim-gtk

环境搭建

1.添加源

sudo vim /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ trusty main
 universe restricted multiverse
sudo apt-get update

2.编写脚本安装依赖包

首先使用vim建立个脚本文件

vim pre.sh

在里面输入以下命令,可以直接复制粘贴。不行的话请看我博客里的Ubuntu配置优化。

#!/bin/sh
sudo apt-get install gcc g++ python python3 -y
sudo apt-get install gcc g++ python python3 python3-dev -y
sudo apt-get install python3-setuptools git mercurial -y
sudo apt-get install qt5-default mercurial -y
sudo apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3 -y
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev -y
sudo apt-get install autoconf cvs bzr unrar -y
sudo apt-get install gdb valgrind -y
sudo apt-get install uncrustify -y
sudo apt-get install doxygen graphviz imagemagick -y
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk -y
sudo apt-get install python3-sphinx dia -y
sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0 -y
sudo apt-get install tcpdump -y
sudo apt-get install sqlite sqlite3 libsqlite3-dev -y
sudo apt-get install libxml2 libxml2-dev -y
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake -y
sudo apt-get install python-pip -y
pip install cxxfilt -y
sudo apt-get install libgtk2.0-0 libgtk2.0-dev -y
sudo apt-get install vtun lxc -y
sudo apt-get install libboost-signals-dev libboost-filesystem-dev -y
sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 gir1.2-goocanvas-2.0 python-rsvg -y

保存脚本退出,获取root权限

sudo su
chmod +x pre.sh
./pre.sh

3、下载ns3源码,解压

wget http://www.nsnam.org/release/ns-allinone-3.30.tar.bz2
tar xjf ns-allinone-3.30.tar.bz2

此处可以换为3.27版本

4、配置

cd ns-allinone-3.30/ns3.30
./waf configure --build-profile=debug --enable-examples --enable-tests

此处可以换为3.27版本

5、编译

./waf

6、测试

./test.py -c core

输出以下信息,则成功
NS3 入门环境搭建

7、运行

我们通常使用waf运行脚本程序。在正确编译了NS3软件包之后,如果要运行一个程序,只需在waf后加入–run选项即可。让我们在ns-3环境下运行常见的HelloSimulator程序,该程序就相当于学习一门语言时的Hello World程序:

./waf --run hello-simulator

Waf会首先检查程序正确编译了,而且还可以根据需要重新执行编译。Waf执行了此程序,并输出如下信息:
NS3 入门环境搭建

如果没有看到输出“HelloSimulator”,说明你是在优化编译模式下进行的编译,在优化编译模式下,默认将关闭控制台输出。可以通过以下命令:

./waf clean
./waf -d debug --enable-examples --enable-tests configure

在调试编译模式下进行重新编译。
到现在为止,我们顺利的下载编译了NS3软件包,并通过测试和运行HelloSimulator脚本程序来验证了软件包正确性。

8.问题总结:

编译时出现如图错误:
NS3 入门环境搭建
原因:这个问题时内存不足造成的!!!
解决方法:关闭虚拟机,在虚拟机“配置”将内存从2048MB修改为4096MB,再打开虚拟机,然后再重新编译,成功。如果还是失败,继续加大内存!!注意电脑上别开太多软件!

2)gcc版本问题:NSC(Network Simulator Cradle)需要工作在在gcc-3.4或gcc-4.2及以上版本。避免使用gcc-4.0和gcc-4.1系列。在官方教程上有特别提到。