win7-x64下安装ns3

Posted on 2012-08-14 16:03  xlw1219  阅读(6723)  评论(1编辑  收藏  举报

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
 
 
Mercurailhg命令执行后,可以看到如下结果:
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.51cto.com/1471532/368586http://yangfei1.blog.51cto.com/1471532/368585

Copyright © 2024 xlw1219
Powered by .NET 8.0 on Kubernetes