本文为NS-3的完整配置,配置完成后,除int128之外全部相关配置全部实现。
注:本文基于Fedora20DVD版本进行安装,由于系统版本差异,可能有其它未列出依赖软件包需要安装。所安装的版本为ns-3-dev,即最新开发版本,如安装其他版本可以对应修改相关命令中的ns-3-dev为ns-3.xx。
Fedora20 下 NS-3 安装及环境配置
- 1、基本库配置:
控制台执行以下命令:(参考链接)
sudo yum install gcc gcc-c++ python python-devel mercurial bzr gsl gsl-devel gtk2 gtk2-devel gdb valgrind doxygen graphviz ImageMagick python-sphinx dia texlive texlive-latex flex bison tcpdump sqlite sqlite-devel libxml2 libxml2-devel uncrustify openmpi openmpi-devel boost-devel cmake glibc-devel.i686 glibc-devel.x86_64 -y
- 2、下载BAKE(BAKE方式安装NS-3)
控制台在选择的目录执行以下脚本
hg clone http://code.nsnam.org/bake
BAKE_HOME=`pwd`/bake
export PATH=$PATH:$BAKE_HOME
export PYTHONPATH=$PYTHONPATH:$BAKE_HOME
然后执行
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
如果有任何一个不是OK 使用yum安装对应的程序包。
我这里缺少的是Unrar tool。
Unrar tool 安装方法:
sudo rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
sudo rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
sudo yum install unrar -y
- 3、设置下载版本:
下面的命令是下载最新开发版本,如果下载其他版本可以使用ns-3.xx:
bake.py configure -e ns-3-dev
bake.py show
根据需要,参考输出的结果安装缺少的包。
如果提示Pygraphviz 这个包提示的命令错误.可以执行
sudo yum install python-devel gnome-python2 gnome-python2-gnomedesktop gnome-python2-rsvg graphviz-python pygoocanvas python-kiwi -y
最终bake.py show 输出结果为:
[whimsyduke@localhost NS-3]$ bake.py show
module: gccxml-ns3 (enabled)
No dependencies!
module: python-dev (enabled)
No dependencies!
module: pygraphviz (enabled)
No dependencies!
module: pygoocanvas (enabled)
No dependencies!
module: g++ (enabled)
No dependencies!
module: qt4 (enabled)
No dependencies!
module: pygccxml (enabled)
depends on:
gccxml-ns3 (optional:False)
module: pyviz-prerequisites (enabled)
depends on:
python-dev (optional:True)
pygraphviz (optional:True)
pygoocanvas (optional:True)
module: netanim (enabled)
depends on:
qt4 (optional:False)
g++ (optional:False)
module: pybindgen (enabled)
depends on:
pygccxml (optional:True)
python-dev (optional:True)
module: ns-3-dev (enabled)
depends on:
netanim (optional:True)
pybindgen (optional:True)
pyviz-prerequisites (optional:True)
– System Dependencies –
> g++ - OK
> pygoocanvas - OK
> pygraphviz - OK
> python-dev - OK
> qt4 - OK