如果不是必要,尽量不要在Ubuntu 16.04上装3.36.1这个版本,因为比较麻烦。
NS3.36.1的新特性
安装依赖
一条一条执行!!!
ns3.36需要用的python3,并且采用cmake进行构建,不再采用waf
apt-get install gcc g++ python python3
apt-get install gcc g++ python python3 python3-dev
apt-get install python3-setuptools git mercurial
apt-get install qt5-default mercurial
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 texlive-lang-portuguese 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-dev llvm-dev automake
apt-get install python-pip
pip install cxxfilt
apt-get install libgtk2.0-0 libgtk2.0-dev
apt-get install vtun lxc
apt-get install libboost-signals-dev libboost-filesystem-dev
apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 gir1.2-goocanvas-2.0 python-rsvg
升级GCC和G++
ns3.36对GNU的要求是8.0以上,但是Ubuntu16.04默认是5.4.0,此时需要升级。
点击这里查看升级教程
下载解压NS3.36.1
在Ubuntu 16.04下 Ctrl + Alt + T 打开终端
mkdir tarball
wget https://www.nsnam.org/releases/ns-allinone-3.36.1.tar.bz2
tar -xjvf ns-allinone-3.36.1.tar.bz2
确保依赖和GNU都设置好以后,执行编译
cd ns-allinone-3.36.1
cd ns-3.36.1
./ns3 configure --enable-examples --enable-tests --enable-python-bindings
加上–enable-bindings以后才会配置visualize模块。默认是不会配置的
配置完成之后会出现如下界面
on代表已经配置的模块,在后面构建时将会安装,off为不会安装的模块。
不安装的原因可能是没开启,也可能是缺少依赖(如果缺少关键依赖,配置甚至不会成功)
具体的原因可以向上滚动鼠标查看shell窗口,如果是没开启功能的话(如第一张图的visualize模块需要开启 python bindings)可以通过
./ns3 configure --help
命令查看如何开启对应的功能
构建
./ns3 build -j8
构建完成不出错以后运行下述命令:
./ns3 run first --visualize
如果显示了可视化界面则说明安装成功
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)