zoukankan      html  css  js  c++  java
  • win7x64下安装ns3

    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

  • 相关阅读:
    [tp3.2.1]sql查询语句(一)
    [crunch bang]在Crunch Bang安装和设置fcitx(小企鹅输入法)
    [tp3.2.1]大D构建模型
    [tp3.2.1]数据模型
    [tp3.2.1]开启URL(重写模式),省略URL中的index.php
    [tp3.2.1]让默认页面: 加载Home模块的Index控制器;而让admin.php默认去加载Admin模块的Adminc控制器.
    [JAVA]在linux中设置JDK环境,ZendStudio,Eclipse
    [fedora21]给fedora21安装fcitx输入法
    Software--Architecture--Design DataAccess 数据访问
    leetcode--Algorithm--Array_Part 1 Easy- 566 Reshape the Matrix
  • 原文地址:https://www.cnblogs.com/xlw1219/p/2638183.html
Copyright © 2011-2022 走看看