本文主要参考ns-3官网安装教程,结合其他博主的文章,整理如下。
首先,我使用的是基于VirtualBox的linux虚拟机,安装的Ubuntu版本为18.04。在安装ns-3过程中出现编译卡顿的情况,查询得知是内存设小了,遂为虚拟机增加内存至4096MB(之前为2048MB,只能在虚拟机关闭状态下才能改变系统内存)。
1 关联库安装
安装ns-3的前提是安装其关联库。ns-3是基于c++的软件,用户可以用python或c++编程使用ns-3,所以需要首先安装g++,gcc和python的库。对于ns-3.30版本,官网建议安装python的版本为3。因此,
1.1 需执行如下命令
apt-get install gcc g++ python python3 python3-dev
1.2 安装 Netanim animator 关联库
apt-get install qt5-default mercurial
1.3 安装 ns-3-pyviz visualizer 关联库
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
1.4 安装其他关联库
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
apt-get install gdb valgrind uncrustify
apt-get install doxygen graphviz imagemagick
apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk
apt-get install python3-sphinx dia gsl-bin libgsl-dev libgsl23 libgslcblas0 tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev
apt-get install libgtk2.0-0 libgtk2.0-dev vtun lxc uml-utilities libboost-signals-dev libboost-filesystem-dev
2 下载安装ns-3.30
有多种方式安装,这里选择手动安装。
2.1 下载ns-3
可用git下载,也可用tarball下载。这里以git下载为例。
在home目录下创建repos文件夹,将安装包下载到repos文件夹里。
mkdir repos
cd repos
git clone https://gitlab.com/nsnam/ns-3-allinone.git
git执行过程中可以看到如下命令
Cloning into 'ns-3-allinone'...
remote: Enumerating objects: 232, done.
remote: Counting objects: 100% (232/232), done.
remote: Compressing objects: 100% (121/121), done.
remote: Total 232 (delta 135), reused 197 (delta 108)
Receiving objects: 100% (232/232), 99.76 KiB | 513.00 KiB/s, done.
Resolving deltas: 100% (135/135), done.
下载完毕后,在~/repos 文件夹中可以看到如下文件
build.py* constants.py dist.py* download.py* README util.py
执行download.py,下载ns-3.30
./download.py -n ns-3.30
下载完毕后,在~/repos/ns-3-allinone 文件夹里有如下文件
bake constants.py download.py ns-3.30 __pycache__ util.py
build.py dist.py netanim pybindgen README
2.2 编译ns-3
在~/repos/ns-3-allinone 文件路径下,运行build.py
./build.py
等待一段较长的时间,编译2000多个项目后,出现如下字段
Build finished successfully (00:02:37)
Leaving directory `./ns-3-dev'
表示编译完成。
2.3 配置系统
执行如下命令
./waf --enable-examples -enable-tests
2.4 测试是否编译正确
./waf --run hello-simulator
出现 hello simulator 表示安装成功~
参考文献
[1] ns-3官网安装教程 (https://www.nsnam.org/wiki/Installation).
[2] https://blog.csdn.net/wuzhiwuweisun/article/details/79483178
[3] https://blog.csdn.net/u010394419/article/details/80441518