NS3 入门环境搭建
程序员文章站
2022-05-28 18:36:16
...
NS3 入门环境搭建3.30版本
环境:VMware + Ubuntu 20.04
首先确保系统已经安装了vim
没有的话请先安装。命令如下:
sudo apt-get install vim-gtk
环境搭建
1.添加源
sudo vim /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ trusty main
universe restricted multiverse
sudo apt-get update
2.编写脚本安装依赖包
首先使用vim建立个脚本文件
vim pre.sh
在里面输入以下命令,可以直接复制粘贴。不行的话请看我博客里的Ubuntu配置优化。
#!/bin/sh
sudo apt-get install gcc g++ python python3 -y
sudo apt-get install gcc g++ python python3 python3-dev -y
sudo apt-get install python3-setuptools git mercurial -y
sudo apt-get install qt5-default mercurial -y
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 -y
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev -y
sudo apt-get install autoconf cvs bzr unrar -y
sudo apt-get install gdb valgrind -y
sudo apt-get install uncrustify -y
sudo apt-get install doxygen graphviz imagemagick -y
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk -y
sudo apt-get install python3-sphinx dia -y
sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0 -y
sudo apt-get install tcpdump -y
sudo apt-get install sqlite sqlite3 libsqlite3-dev -y
sudo apt-get install libxml2 libxml2-dev -y
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake -y
sudo apt-get install python-pip -y
pip install cxxfilt -y
sudo apt-get install libgtk2.0-0 libgtk2.0-dev -y
sudo apt-get install vtun lxc -y
sudo apt-get install libboost-signals-dev libboost-filesystem-dev -y
sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 gir1.2-goocanvas-2.0 python-rsvg -y
保存脚本退出,获取root权限
sudo su
chmod +x pre.sh
./pre.sh
3、下载ns3源码,解压
wget http://www.nsnam.org/release/ns-allinone-3.30.tar.bz2
tar xjf ns-allinone-3.30.tar.bz2
此处可以换为3.27版本
4、配置
cd ns-allinone-3.30/ns3.30
./waf configure --build-profile=debug --enable-examples --enable-tests
此处可以换为3.27版本
5、编译
./waf
6、测试
./test.py -c core
输出以下信息,则成功
7、运行
我们通常使用waf运行脚本程序。在正确编译了NS3软件包之后,如果要运行一个程序,只需在waf后加入–run选项即可。让我们在ns-3环境下运行常见的HelloSimulator程序,该程序就相当于学习一门语言时的Hello World程序:
./waf --run hello-simulator
Waf会首先检查程序正确编译了,而且还可以根据需要重新执行编译。Waf执行了此程序,并输出如下信息:
如果没有看到输出“HelloSimulator”,说明你是在优化编译模式下进行的编译,在优化编译模式下,默认将关闭控制台输出。可以通过以下命令:
./waf clean
./waf -d debug --enable-examples --enable-tests configure
在调试编译模式下进行重新编译。
到现在为止,我们顺利的下载编译了NS3软件包,并通过测试和运行HelloSimulator脚本程序来验证了软件包正确性。
8.问题总结:
编译时出现如图错误:
原因:这个问题时内存不足造成的!!!
解决方法:关闭虚拟机,在虚拟机“配置”将内存从2048MB修改为4096MB,再打开虚拟机,然后再重新编译,成功。如果还是失败,继续加大内存!!注意电脑上别开太多软件!
2)gcc版本问题:NSC(Network Simulator Cradle)需要工作在在gcc-3.4或gcc-4.2及以上版本。避免使用gcc-4.0和gcc-4.1系列。在官方教程上有特别提到。
下一篇: vue.js入门环境搭建