Ubuntu20.04安装ns3
前⾔
我的环境: Ubuntu 20.04,安装的是ns3-3.30.1
安装依赖
请以官⽹为准:/wiki/Installation#Ubuntu.2FDebian.2FMint
有⼏个地⽅需要⾃⼰改⼀下,我在下⾯标了
建议全程使⽤root⽤户进⾏安装,否则⾃⾏添加 sudo
su --
⾸先是C++和python3(其实ubuntu 20.04已经内置了)
apt-get install g++ python3
如果你要安装的版本是3.30或3.31或ns-3-dev,你还需要安装(推荐安装)
apt-get install python3-dev pkg-config sqlite3
对Python(开发)的最低要求:为了使⽤ns-3-allinone存储库(从Git克隆),需要其他软件包才能获取并成功安装pybindgen和netanim。
apt-get install python3-setuptools git
qt5
apt-get install qt5-default mercurial
ns-3-pyviz可视化⼯具的依赖(安装失败也没事⼉,这个以后再说)
对于ns-3.28和更早的版本,PyViz基于GTK + 2,GooCanvas和GraphViz:
apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
对于Ubuntu 18.04,不再提供python-pygoocanvas。 ns-3.29和更⾼版本将⽀持升级到GTK +版本3,并且需要以下软件包:
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 i python ipython3
基于MPI的分布式仿真的依赖
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
bake构建⼯具的依赖:
apt-get install autoconf cvs bzr unrar
调试
apt-get install gdb valgrind
utils / check-style.py代码样式检查程序的依赖
apt-get install uncrustify
Doxygen和相关的在线⽂档:
apt-get install doxygen graphviz imagemagick
apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
ns-3⼿册和教程使⽤Sphinx的reStructuredText(doc / tutorial,doc / manual,doc / models)编写,并且图形通常以dia(还需要上⾯的texlive软件包)编写:
apt-get install python3-sphinx dia
GNU科学库(GSL)⽀持更精确的802.11b WiFi错误模型(OFDM不需要):
apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
读取pcap数据包跟踪
apt-get install tcpdump
数据库对统计框架的⽀持
apt-get install sqlite sqlite3 libsqlite3-dev
配置存储的基于Xml的版本(需要libxml2> =版本2.7)
apt-get install libxml2 libxml2-dev
⽀持⽣成修改后的python绑定(这步官⽹是安装的pip,但是现在⼀般都是python3,ubuntu20.04已经不⽀持pip,所以这⾥我换成了python3的pip)
ubuntu安装教程
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
基于GTK的配置系统
apt-get install libgtk-3-dev
试验虚拟机和ns-3
apt-get install vtun lxc uml-utilities
⽀持openflow模块(需要⼀些boost库)官⽹还要安装libboost-signals-dev,但是⽆论是ubuntu官⽹还是⽹上,都没有有关这个的信息,然后⽹上说openflow这个可以不安,所以对于libboost-signals-dev,有需要的⾃⾏解决
apt-get install libboost-filesystem-dev
安装与build
如果你的环境与我的是⼀致的,那么建议安装ns-3.30.1
下载后,进⾏解压
在在ns-allinone-3.30.1⽂件夹下运⾏build(这个过程很漫长,编译近3000个⽂件。。。):
sudo ./build.py --enable-examples --enable-tests
看到以下界⾯就表明build成功,缺少的模块如果需要⽤到,可以另⾏添加,如果期间出现红⾊字体,说明有些功能没有完成,不过不影响。
使⽤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
使⽤test.py测试:
sudo ./test.py -c core
运⾏经典的第⼀个脚本
sudo ./waf --run hello-simulator
如果出现 Hello Simulator 说明安装成功。