进入NS-3下载官网:Releases | ns-3
选择3.34版本下载,因为此版本包含了CUBIC算法
进入虚拟机,首先要以root账号登录桌面,具体步骤可以参考:Ubuntu以root账号登录桌面 - 知乎
创建一个workspace文件夹,并将下载的ns-allinone-3.34.tar压缩包放入
安装依赖库
sudo apt-get install gcc g++ python python3
sudo apt-get install gcc g++ python python3 python3-dev
sudo apt-get install python3-setuptools git mercurial
sudo apt-get install qt5-default mercurial
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
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
sudo apt-get install autoconf cvs bzr unrar
sudo apt-get install gdb valgrind
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
sudo apt-get install python3-sphinx dia
sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc uml-utilities
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
输入以下指令进入workspace并解压缩
cd workspace
tar -jxf ns-allinone-3.34.tar.bz2
进入解压后的文件夹内,运行build.py进行编译
编译过程中可能会卡死,报出以下错误:g++: fatal error: 已杀死 signal terminated program cc1plus compilation terminated。这是由于内存不够引起的,可以加大内存或者使用swap分区,参考这篇博客:解决C++: fatal error: Killed signal terminated program cc1plus_aarch64-linux-gnu-g++: fatal error: killed signal _richer_live的博客-CSDN博客编译完成后如下图所示
运行测试用例./waf --run hello-simulator:
若出现红字则执行以下命令:
./waf clean
./waf -d debug --enable-example --enable-tests configure
./waf
安装完成。