NS-3环境布置及安装

MMP的,入坑NS3了,LTE是什么鬼!!!

ubantu安装NS3解决依赖环境

一堆安装包需要安装,试了N多次(CentOS没安装明白,转而ubantu)。利用脚本进行按装。
貌似得先对本机软件进行升级,从官方文档获取安装步骤,传送门:https://www.nsnam.org/wiki/Installation,官网部分安装步骤貌似不能通过(仅限本机),在安装脚本中进行说明
不得不说这安装环境的过程不是一般的长

zyb@virtual-machine:~$ uname -a
Linux virtual-machine 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
zyb@virtual-machine:~$ sudo apt-get upgrade
zyb@virtual-machine:~$ vim ns3_install_environment.sh
sudo apt-get install gcc g++ python python-dev -y
sudo apt-get install mercurial python-setuptools git -y
# 官方安装qt5-default貌似当时死活安装不上,可用qt4-dev-tools代替
sudo apt-get install qt4-dev-tools -y
#sudo apt-get install qt5-default -y
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython -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 -y
sudo apt-get install python-sphinx dia -y  
sudo apt-get install gsl-bin libgsl2 libgsl-dev -y
sudo apt-get install flex bison libfl-dev -y
sudo apt-get install tcpdump -y
sudo apt-get install sqlite sqlite3 libsqlite3-dev -y
sudo apt-get install libxml2 libxml2-dev -y
#Support for generating modified python bindings 
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-dev -y
# 官网中没有下面一条安装过程,但是执行pip命令需安装python-pip
sudo apt install python-pip
pip install cxxfilt 
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 p7zip-full -y

至此环境安装脚本写完,注意:仅是环境部分,祈祷不要出错吧,余下漫长的等待过程。

NS3正式安装


首先恭喜你能走到这一步,剩下的基本没什么了,完全可参照官网部分。
有多种安装方式,此处为编译安装

zyb@virtual-machine:~$ mkdir tarballs
zyb@virtual-machine:~$ cd tarballs/
zyb@virtual-machine:~/tarballs$ wget https://www.nsnam.org/release/ns-allinone-3.28.tar.bz2
zyb@virtual-machine:~/tarballs$ tar xf ns-allinone-3.28.tar.bz2
zyb@virtual-machine:~/tarballs$ cd ns-allinone-3.28/
zyb@virtual-machine:~/tarballs/ns-allinone-3.28$ ./build.py --help
Usage: build.py [options]

Options:
  -h, --help            show this help message and exit
  --disable-netanim     Don't try to build NetAnim (built by default)
  --qmake-path=QMAKE_PATH
                        Provide absolute path to qmake executable for NetAnim
  --enable-examples     Do try to build examples (not built by default)
  --enable-tests        Do try to build tests (not built by default)
  --build-options=BUILD_OPTIONS
                        Add these options to ns-3's "waf build" command
zyb@virtual-machine:~/tarballs/ns-allinone-3.28$ ./build.py --enable-examples --enable-tests
...此处省略N个字符
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ 

上述步骤执行后,ns3已成功安装,而且是3.28最新版的!
接下来进行测试,注意scratch-simulator不要带后缀。

zyb@virtual-machine:~/tarballs/ns-allinone-3.28$ cd ns-3.28/
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf --run scratch/scratch-simulator
Waf: Entering directory `/home/zyb/tarballs/ns-allinone-3.28/ns-3.28/build'
Waf: Leaving directory `/home/zyb/tarballs/ns-allinone-3.28/ns-3.28/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (5.296s)
Scratch Simulator

第一次编译安装貌似得用build.by命令,一旦工程编译过想进行重新配置可用waf命令,此命令在~/tarballs/ns-allinone-3.28/ns-3.28目录中,和build.by编译工程不再同一目录

# 清除之前配置信息
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf --clean
# 进行配置,默认例子和测试不便宜
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf -d optimized --enable-examples --enable-tests configure
# 安装
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf

上述三行代码没试过,不想再在安装这墨迹了,快哭了。
后续可参考马春光 姚建胜编写的《NS-3网络模拟器基础与应用》

猜你喜欢

转载自www.cnblogs.com/hesper/p/9361894.html