首先,安装ns-3时最好不要使用root权限,普通用户安装即可,否则后来要找文件会比较麻烦。
一、安装依赖软件包
首先安装依赖软件包。根据官网(https://www.nsnam.org/wiki/Installation#CentOS)给出的命令安装即可,条目很多,比较繁琐,其中有几条会有问题,解决办法都有列出。可以在输入每条命令后,空一个格,加上“-y”,就不用再次输入y确认了,就可以在安装这一条时干些别的事了。另外如果觉得这些命令实在太多,也可以写个shell脚本,直接全部都执行就方便多了。下面列出各个命令:
yum install gcc-c++ python
yum install python-devel
yum install qt4-devel
yum install mercurial
yum install bzr
yum install cmake glibc-devel.i686glibc-devel.x86_64
and you will want to install gccxml andpygccxml as per the instructions for python bindings (or through thebake build tool as described in thetutorial).【1】
安装gccxml和pygccxml。首先安装cmake,从网上找一下教程安装好。接着搜索gccxml,到官网选择download链接来到git上把压缩包下载下来,提取(解压)出来。这时候注意一下解压的目录,因为之后会用到。根据git上的教程,
mkdirgccxml-build
cdgccxml-build
cmake../gccxml -DCMAKE_INSTALL_PREFIX:PATH=/installation/path
make
make install
其中在执行第三条时,要把目录改一下。比如之前解压到tmp文件夹,那就输入 cmake/tmp/gccxml-master即可。
安装pygccxml:搜索pygccxml,通过官网给出的链接来到git上可以看到install里有两种方法,选择第一种会比较简单。要先安装pip。
搜索pip,在pip官网上进入Installation链接,先下载pip,再输入python
get-pip.py(忘记这里需不需要添加路径了,如果有问题就添加一下吧,应该是不需要)就安好pip了。
输入命令pip install pygccxml,就安好pygccxml了。
yum install doxygen graphviz ImageMagick
yum install python-sphinx dia texlivetexlive-latex
yum install openmpi openmpi-devel
yum install tcpdump wireshark
yum install sqlite sqlite-devel
yum install libxml2 libxml2-devel
yum install uncrustify【2】
我直接输入命令无法成功,yum源还是找不到文件。先去uncrustify的网站,点击连接Releasedownloads下载uncrustify(后缀为.tar.gz),在电脑中找到下载的文件,右键提取到此处。再到uncrustify的网站提供的github连接,根据readme里quickstart操作。其中第一条指令,./configure要改为下载并解压的文件的路径,比如/tmp/uncrustify-0.62/configure,即可。
yum install boost-devel
yum install graphviz graphviz-develpython-setuptools-devel
sudo easy_install pygraphviz
Some additional packages are needed(goocanvas and pygoocanvas). It is suggested to enable the RPMForge repo asdescribed here:http://wiki.centos.org/AdditionalResources/Repositories/RPMForge.【3】
打开网址,下载RPMforge for CentOS 6里的x86_64,安装,完成后输入下载页面的几条命令,一般不会出错
Then, try this:
yum install goocanvas pygtk2-devel
Then obtain the RPM for pygoocanvas andpygoocanvas-devel from here: http://li.nux.ro/download/nux/dextop/el6/x86_64/
rpm -ivhpygoocanvas-0.14.1-3.el6.nux.x86_64.rpm
rpm -ivhpygoocanvas-devel-0.14.1-3.el6.nux.x86_64.rpm
【4】
打开网址,找到 pygoocanvas-0.14.1-3.el6.nux.x86_64.rpm和pygoocanvas-devel-0.14.1-3.el6.nux.x86_64.rpm下载,然后执行上面的两条命令。注意,这两条命令不全,需要加上文件路径。比如下载(然后移动)到了tmp文件夹,就要输入rpm-ivh /tmp/pygoocanvas-0.14.1-3.el6.nux.x86_64.rpm
但是,这两条命令执行时我的会报错。所以我选择了在网上寻找 pygoocanvas和pygoocanvas-devel的两个最新版本,下载然后执行两个命令,好像就安装成功了。。。
yum install git
yum install gsl gsl-devel
yum install gtk2 gtk2-devel
yum install gdb valgrind
至此,依赖软件安装完毕,接下来进入ns-3的正式安装。
二、下载并编译安装ns-3
以下内容以当时官网为参考,版本可能有所不同。
打开官网(https://www.nsnam.org/docs/release/3.24/tutorial/html/getting-started.html#downloading-ns3),看到有两种下载方式,第一种比较简单,这里以第一种为例。
cd
mkdir workspace
cd workspace
wgethttp://www.nsnam.org/release/ns-allinone-3.24.tar.bz2
tarxjf ns-allinone-3.24.tar.bz2
依次输入上面的命令即可,根据网速等时间会不同。
接下来是编译安装,也有两种。选择Building with build.py。根据官网,输入命令./build.py--enable-examples –enable-tests,注意此时命令在ns-allinone-3.24目录下即可。
然后就漫长的等待了。最后如果顺利就会和官网上说的大致相同。
有的人可能使用第一种安装方式不行,那就使用waf编译方式,根据教程来,也不是很麻烦。
三、测试
根据官网给出的./test.py -ccore和./waf --runhello-simulator命令即可,不过都要注意下此时的位置,比如第二条命令要在终端进入ns-3.24这个目录下输入。