ns3安装起来比较复杂,自己装了两天写了这个简明的安装教程:
1.下载并安装cygwin:http://cygwin.com/install.html
2.下载并安装python:http://www.python.org/download/
注:安装python不要更改安装目录,如果更改,在windows中注册环境变量。可以在cygwin中用which python命令来查阅是否安装好了python
3.下载并安装mercurial:http://mercurial.selenic.com/release/windows/
注:并不需要安装tortoisehg.tortoisehg是mercurial的一个图形界面,mercurial简称hg,非常亲切的,我用过tortoiseSVN。
4.在cygwin下的安装目录下新建一个文件夹repos,路径是C:\cygwin\home\用户名\repos,输入:
cd
mkdir repos
cd repos
hg clone http://code.nsnam.org/ns-3-allinone
当Mercurail 的hg 命令执行后,可以看到如下结果:
destination directory: ns-3-allinone
requesting all changes
adding changesets
adding manifests
adding file changes
added 31 changesets with 45 changes to 7 files
7 files updated, 0 files merged, 0 files removed, 0 files unresolved
当clone命令运行结束以后,在前述建立的repos 目录下,会出现一个ns-3-allinone 目录,而且含有如下文件:
build.py*
constants.py
dist.py*
download.py*
README util.py
注意:你实际上仅仅下载了一些Python 脚本,下一步就是利用这些脚本根据需要下载并来安装ns-3 软件包。如果你访问如下链接:http://code.nsnam.org/ 就会发现若干源码库,其中很多是ns3开发团队专用的。其中在源码库org/ 你会发现名为ns-3.1 的源码库,这是ns-3 的第一个稳定版本。还有一些分散的源码库名为ns-3.1-reftraces, 它为ns-3.1 保留了参考记录。保持这些文件的一致性是非常重要的,尤其是当你想对源码库做一个回归测试时。至少做一次测试来验证所有的程序都正确编译了。
当前的开发版ns-3 的快照存放在http://code.nsnam.org/ns-3-dev/ 中;相关的参考记录存放在链接 http://code.nsnam.org/ns-3-dev-ref-traces/ 中。 ns3开发人员会尽量保持源码库中的代码处于一致,工作的状态,但是他们仍在开发中,有一些未发布过的代码。所以如果你不需要最新的特性的话还是考虑使用发行版。
由于发布版的版本号在变化中,我在指南中还是继续使用通常不变的ns-3-dev ,但是你可以根据自己的需要选择其他的版本,并替换这里的”ns-3-dev ”,(例如, ns-3.6 或 ns-3.6-ref-traces ),在下文中,你可以通过访问源码库列表或者访问ns3开始网页找到最新的ns-3发布版软件。
当你从源码库下载完后,继续切换进入你自己建立的ns-3-allinone 目录中。 我们现在使用download.py 脚本来下载ns-3 需要使用的各个部件。继续在你的shell 中输入以下命令 (如果你想使用任意发行版你可以将ns-3-dev 替换为你选择的发行版的名字,例如"ns-3.6 " 和"ns-3.6-reftraces ")。
./download.py -n ns-3-dev -r ns-3-dev-ref-traces
注意,-n 选项的默认参数为ns-3-dev ,-r 选项的默认参数为ns-3-dev-ref-traces ,所以上述命令中这两个选项的参数实际上是多余的。我们使用这个例子来描述如何指定源码库。你只需简单键入如下命令就可以使用默认参数来下载ns-3-dev :
./download.py
5.虽然教程写的是命令行运行download.py,但是我是直接双击运行的download.py
当hg (Mercurial) 命令执行时,你可以看到如下的信息:
#
# Get NS-3
#
Cloning ns-3 branch
=> hg clone http://code.nsnam.org/ns-3-dev ns-3-dev
requesting all changes
adding changesets
adding manifests
adding file changes
Chapter 3: Getting Started 8
added 4634 changesets with 16500 changes to 1762 files
870 files updated, 0 files merged, 0 files removed, 0 files unresolved
这些输出信息显示下载脚本已经从源码库中下载到了实际的ns-3 源码,紧接着,你就会看到这样的信息:
#
# Get the regression traces
#
Synchronizing reference traces using Mercurial.
=> hg clone http://code.nsnam.org/ns-3-dev-ref-traces ns-3-dev-ref-traces
requesting all changes
adding changesets
adding manifests
adding file changes
added 86 changesets with 1178 changes to 259 files
208 files updated, 0 files merged, 0 files removed, 0 files unresolved
这表明下载脚本为你下载了参考记录文件。下载脚本被设计成自适应的,它能检测在一些系统平台上某些ns-3 模块不被支持,在你的系统平台上,你可能看不到这些系统不支持的源码被下载。然而,在大多数系统平台上这样的过程会显示如下:
#
# Get PyBindGen
#
Required pybindgen version: 0.10.0.640
Trying to fetch pybindgen; this will fail if no network connection is available. Hit Ctrl-=> bzr checkout -rrevno:640 https://launchpad.net/pybindgen pybindgen
Fetch was successful.
这些信息显示了下载脚本在为你下载Python 绑定生成器的过程,下一步你就可能看到如下的信息(不同的系统平台表现有所不同),
#
# Get NSC
#
Required NSC version: nsc-0.5.0
Retrieving nsc from https://secure.wand.net.nz/mercurial/nsc
=> hg clone https://secure.wand.net.nz/mercurial/nsc nsc
requesting all changes
adding changesets
adding manifests
adding file changes
added 273 changesets with 17565 changes to 15175 files
10622 files updated, 0 files merged, 0 files removed, 0 files unresolved
这些信息显示了下载脚本在为你下载网络仿真器支架程序(NSC)的过程。
当复制命令结束,你在~/repos/ns-3-allinone 目录下会有几个新目录:
build.py* constants.pyc download.py* ns-3-dev-ref-traces/ pybindgen/ util.py
constants.py dist.py* ns-3-dev/ nsc/ README util.pyc
继续进入ns-3-dev 目录,你会见到如下的文件:
AUTHORS examples/ regression/ scratch/ waf*
bindings/ LICENSE regression.py src/ waf.bat*
CHANGES.html ns3/ RELEASE_NOTES utils/ wscript
doc/ README samples/ VERSION wutils.py
现在可以准备编译ns-3 软件了。
6.同样的,下面的教程使用命令行进行build,而我直接双击运行了build.py
如果你是第一次编译ns-3 软件包,建议使用allinone 环境,它会为你以最常用的方式配置工程。
切换到你在上文下载一节中创建的目录下。如果你使用Mercurial 下载,请进入~/repos 目录下的ns-3-allinone 目录,如果你使用tarball 下载,找到~/tarballs 目录下类似ns-allinone-3.6 的目录,键入如下的命令,并请耐心等待:
./build.py
编译脚本开始编译下载的ns3时,你会看到大量常见的编译器输入信息。最后你会看到如下编译成功的好消息:
Waf: Leaving directory ‘/home/craigdo/repos/ns-3-allinone/ns-3-dev/build’
’ build’ finished successfully (2m30.586s)
一旦工程编译好,你就可以不再使用ns-3-allinone 脚本包了。你已经从其中获取必要的东西,现在是你直接同Waf 交互的时候了,它位于ns-3-dev 目录中,并不在 ns-3-allinone 目录中。切换到ns-3-dev 目录下(或者你下载的版本的相应目录下):
cd ns-3-dev
参考文献:
【1】步骤2和3参考http://mercurial.selenic.com/wiki/WindowsInstall
【2】步骤1、4、5、6参考自http://yangfei1.blog.iyunv.com/1471532/368586、http://yangfei1.blog.iyunv.com/1471532/368585
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com