做实验时走了很多弯路,特在此总结
环境
虚拟机 | 操作系统 | NS版本 |
---|---|---|
VMware 16 Pro | Ubuntu 20.04 | 3.30 |
NS的安装
提醒
首先,要做的是换源,不然下载速度只有几KB,操作请自行搜索
操作
第一步:切换权限
sudo su
以superuser身份执行下面每一步
第二步:安装依赖包,遇到选择输入Y,若有包找不到直接跳过就行
apt-get install g++ python3
apt-get install python3-dev pkg-config sqlite3
apt-get install python3-setuptools git
apt-get install qt5-default mercurial
apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
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
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
apt-get install autoconf cvs bzr unrar
apt-get install gdb valgrind
apt-get install uncrustify
apt-get install doxygen graphviz imagemagick
apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
apt-get install python3-sphinx dia
apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
apt-get install tcpdump
apt-get install sqlite sqlite3 libsqlite3-dev
apt-get install libxml2 libxml2-dev
apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake python3-pip
python3 -m pip install --user cxxfilt
apt-get install libgtk-3-dev
apt-get install vtun lxc uml-utilities
第三步:获取ns3
请不要模仿其他教程通过wget获取ns3,除非你有特殊手段否则下载很慢。
建议直接到官网下载ns-3.30.1然后通过VMware的共享文件夹这个方式传入虚拟机
第四步:解压与编译
来到你刚才下好的ns-allinone-3.30.1这个文件夹下,输入
./build.py --enable-examples --enable-tests
这个过程很漫长,你的虚拟机会出现多次死机,这是正常现象,因为虚拟机内存不够。
唯一能做的就是进程被kill之后重新输入这个命令,请耐心等待。
当出现
Moduels built:
xxxx xxxx
Moduels not built:
xxxx xxxx
等文字后,就成功啦
第五步:使用waf编译与测试
在ns-allinone-3.30.1/ns-3.30.1下输入
sudo ./waf clean
sudo ./waf --build-profile=debug --enable-examples --enable-tests configure
这也是一个漫长而痛苦的过程,请耐心等待。
出现出现configure finished successfully即证明成功了。
最后一步:测试一下
运行
sudo ./waf --run hello-simulator
出现 Hello Simulator 说明安装成功了!