NS3 安裝歷程

Windows系統推薦大家在Windows系統下安裝VM Ware

下載地址如下:http://www.vmware.com/cn.html

激活密鑰:5A02H-AU243-TZJ49-GTC7K-3C61N (如不可用,百度VM Ware Key即可)

NS-3需要基於Linux操作系統,這裏介紹Ubntu的安裝。

下載地址如下:https://www.ubuntu.com/download(目前爲16.04版本)

下載安裝包之後,打開VM Ware,選擇文件->新建虛擬機->典型->下一步->選擇鏡像文件位置->關聯鏡像文件,之後便會自動安裝。

這裏需要注意的是,爲了安裝效率,請跳過語言包的安裝。

//如果有更快的源,可以自己替換

進入Ubuntu系統後,打開Terminal

sudo apt-get update

sudo apt-get upgrade

 

安裝好系統之後,NS-3需要一系列環境的配置,這裏截取了NS-3官網的環境配置教程。

·  minimal requirements for C++ (release): This isthe minimal set of packages needed to run ns-3 from a released tarball. //C++python安裝,必裝

 sudoapt-get install gcc g++ python

·        minimal requirements for Python (release): This isthe minimal set of packages needed to work with Python bindings from a releasedtarball.

 sudoapt-get install gcc g++ python python-dev

·        qt4 development tools (Note: qt4, not qt5)needed for NetAnim animator

 sudoapt-get install qt4-dev-tools libqt4-dev

·  Mercurial is needed to work with ns-3 developmentrepositories. //NS3代碼維護使用的源碼版本控制管理系統

 sudoapt-get install mercurial

·  Running python bindings from the ns-3 development tree(ns-3-dev) requires bazaar //運行python綁定ns-3-dev需要bazaar這個組件

 sudoapt-get install bzr

·        Support for generating modified python bindings

 sudoapt-get install cmake libc6-dev libc6-dev-i386 g++-multilib

and you will want to install gccxml and pygccxml as per the instructionsfor python bindings (or through the bake build tool asdescribed in the tutorial).

·  Debugging: //調試工具

 sudoapt-get install gdb valgrind

·        GNU Scientific Library (GSL) support for more accurateWiFi error models

 sudoapt-get install gsl-bin libgsl0-dev libgsl0ldbl

·  The Network Simulation Cradle (nsc) requires the flexlexical analyzer and bison parser generator: //仿真必需的詞法分析器和語法分析生成器,必裝

 sudoapt-get install flex bison libfl-dev

·  To read pcap packet traces //讀取pcappacket traces,即包嗅探器

sudo apt-get install tcpdump

·  Database support for statistics framework //支持統計特性的數據庫軟件

sudo apt-get install sqlite sqlite3libsqlite3-dev

·  Xml-based version of the config store (requires libxml2>= version 2.7) //xml的配置存儲軟件

sudo apt-get install libxml2 libxml2-dev

·  A GTK-based configuration system //基於GTK的配置系統

 sudoapt-get install libgtk2.0-0 libgtk2.0-dev

·        To experiment with virtual machines and ns-3

 sudoapt-get install vtun lxc

·  Support for utils/check-style.py code style check program

sudo apt-get install uncrustify

·  Doxygen and related inline documentation: //文檔生成器,ns-3手冊和tutorial編寫查看工具

 sudoapt-get install doxygen graphviz imagemagick

 sudoapt-get install texlive texlive-extra-utils texlive-latex-extratexlive-font-utils texlive-lang-portuguese dvipng

·  The ns-3 manual and tutorial are written inreStructuredText for Sphinx (doc/tutorial, doc/manual, doc/models), and figurestypically in dia (also needs the texlive packages above):

 sudoapt-get install python-sphinx dia

Note: Sphinx version >= 1.12 required for ns-3.15. Tocheck your version, type "sphinx-build". To fetch this package alone,outside of the Ubuntu package system, try "sudo easy_install -USphinx".

·  Support for Gustavo Carneiro's ns-3-pyviz visualizer //Gustavo's ns-3-pyviz的可視化軟件

 sudoapt-get install python-pygraphviz python-kiwi python-pygoocanvaslibgoocanvas-dev ipython

·  Support for openflow module (requires some boostlibraries)

sudo apt-get install libboost-signals-devlibboost-filesystem-dev

·  Support for MPI-based distributed emulation

sudo apt-get install openmpi-binopenmpi-common openmpi-doc libopenmpi-dev

 

配置好環境之後,我們用新出的工具bake進行安裝;

然後把bake加入路徑;

export BAKE_HOME=`pwd`/bake 
export PATH=$PATH:$BAKE_HOME
export PYTHONPATH=$PYTHONPATH:$BAKE_HOME

接下來,我們可以用bake來檢查系統是否未安裝的包;

bake.py check

檢查之後,可以看到如下所示,表示沒有缺失包;

> Python - OK
   > GNU C++ compiler - OK
   > Mercurial - OK
   > CVS - OK
   > GIT - OK
   > Bazaar - OK
   > Tar tool - OK
   > Unzip tool - OK
   > Unrar tool - OK
   > 7z  data compression utility - OK
   > XZ data compression utility - OK
   > Make - OK
   > cMake - OK
   > patch tool - OK
   > autoreconf tool - OK
   > Path searched for tools: /usr/lib64/qt-3.3/bin
 /usr/lib64/ccache /usr/local/bin  /usr/bin/bin/usr/local/sbin /usr/sbin
 /sbin /user/dcamara/home/scripts/user/dcamara/home/INRIA/Programs/bin 
 /user/dcamara/home/INRIA/repos/llvm/build/Debug+Asserts/bin

如果發現有包缺失,則用sudo apt-get install xxxx自行下載。

在下載和安裝NS-3前你需要配置bake通知你想爲NS-3添加什麼模塊,標準如下;

  bake.py configure -e ns-3.27

目前NS-3安裝版本爲3.26,官網更新已爲3.27;

然後看到添加的模塊,配置具體系統要求,可以用bake show

  bake.py show   

下載所選的模塊及其依賴;

bake.py download

 

構建NS-3;

值得注意的是:NS-3.26的gccxml僅支持gcc-4.2~gcc-4.8版本,而Ubuntu16.04下版本爲gcc-5.4,因此需要多下載一個gcc-4.8及g++-4.8;

sudo apt-get install gcc-4.8 g++-4.8

打開一個新的終端;

更改gcc及g++鏈接

sudo rm gcc g++

sudo ln gcc gcc-4.8

sudo ln g++ g++-4.8

先編譯gccxml,回到原來的終端;

進入gccxml文件夾找到make文件;

cd source/gccxml/objdir

make

sudo make install

切回新打開的終端;

接下來把gcc及g++鏈接回5.4版本;

sudo rm gcc g++

sudo ln gcc gcc-5.4

sudo ln g++ g++-5.4

更改bake的配置文件,否則整體編譯不通過;

sudo gedit ~/source/ns-3.26/bindings/python/wscript 

 //不知道3.27是否解決了這個問題,這是在我安裝3.26時寫的,僅供大家參考

找到# Check for pybindgen代碼塊,將if語句條件設定爲false

找到 ## Check gccxml version”代碼塊;

”gccxml_version_line=”之後的改爲os.popen(“gccxml.real–version”).readline().strip();

最後用bake構建NS-3。

bake.py build
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章