• Ubuntu16.04下安装ns2.35


    最近由于课题需要,要使用NS2来进行实验,主要参考的是易平的《无线网络攻防原理与实践》,《无线网络攻防教程》

    我是用的双系统,在Ubuntu16.04上直接安装Ubuntu

    在网上搜了很多的安装步骤,自己安装成功后,整理了更详细的版本:

    步骤一:更新Ubuntu系统的安装包

    在cmd直接输入以下命令:

    sudo apt-get update #更新源列表
    
    sudo apt-get upgrade #更新已经安装的包 
    
    sudo apt-get dist-upgrade #更新软件,升级系统

    步骤二:安装NS2运行时需要的三个依赖包

    sudo apt-get install build-essential
    
    sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev #for tcl and tk    # 个人说明一下:安装这个依赖包后,在以后调试涉及./configure时会提示找不到tcl的路径,解决方法是./configure –with-tcl-ver=8.5 
    
    sudo apt-get install libxmu-dev libxmu-headers #f or nam

    步骤三:下载安装包并编译安装

    ns2.35官网下载地址      (打开之后,直接点        

                                                                                                                                                    )

    下载后直接放在目录/home/用户名/,若是放在其他比如usr/等下面,必须切换root账号才能进行操作,编辑时会出现各种头疼的操作

     tar xvfz ns-allinone-2.35.tar.gz # 解压缩 NS2 安装包
    
     cd ns-allinone-2.35    # 进入文件目录
    
     ./install   # 进行安装

     第一次安装报错: 

    linkstate/ls.h:137:20: note: use ‘this->erase’ instead 
    make: * [linkstate/ls.o] Error 1 
    Ns make failed!

    修改ls文件,位置是ns-2.35/linkstate/ls.h 

    第137行     void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

    改为:      void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

    保存后,重新然后执行 ./install #重新安装顺利完成

     这是因为ubuntu16.04的gcc编译版本太高,而ns2.35是2011年发布的,当时ubuntu的gcc版本比较低的,需要注意的是gcc4.4版本后,有些格式不能向下兼容,好吧,这个问题很是头疼,最笨也是最直接的方法就是直接改动源码,把出现问题的代码部分改成能被高版本gcc编译的格式

    步骤四:配置环境变量

    修改当前用户环境变量(对应的文件为’/home/用户名’中的.bashrc,并非’/ns-allinone-2.35’底下的空白.bashrc)

     

     cd   # 退回  ‘ /home/用户名’ 目录
    
     gedit ~/.bashrc  

     直接在在跳出的文档最后面加上以下环境变量(把用户名改成你的就行)

    export NS_HOME=/home/用户名/ns-allinone-2.35  
    export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix
    export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib  
    export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library   

    步骤五:验证NS2是否安装成功

    关闭终端,重启终端,输入ns,出现%,说明ns2安装成功(此时我已经安装成功了)

    注意:环境变量配错的话,会提示“程序“ns”尚未安装。 此时请勿使用以下命令安装:sudo apt-get install ns2     应该继续在步骤4中修改环境变量!

    步骤六:测试NS2并验证nam是否安装成功

    cd ns-allinone-2.35/ns-2.35/tcl/ex/ 
    ns simple.tcl

    倘若弹出动画演示框,则证明ns完全安装正确,下面的问题也不需要看了,至此结束。(幸运的是我OK了!)

    倘若提示nam没有安装(Ubutnu16.04没有出现这个问题) 
    进入nam目录:cd ns-allinone-2.35/nam-1.15 
    进入后 ./configure –with-tcl-ver=8.5 
    然后 make 
    最后 make install

    命令行输入nam弹出nam console说明nam安装成功。

    注意:如果通过“sudo apt-get install nam”安装的nam,执行nam命令会报异常 “段错误,核心文件已转储”

    遇到该问题的网友可以“sudo apt-get remove –purge nam”卸载nam及其配置后按Step6安装。

  • 相关阅读:
    《民工》随笔
    最近繁忙,暂停更新
    UVA 839 Not so Mobile
    UVA 310 Lsystem
    UVA 10602 Editor Nottoobad
    UVA 10562 Undraw the Trees
    UVA 327 Evaluating Simple C Expressions
    UVA 10954 Add All
    UVA 270 Lining Up
    UVA 699 The Falling Leaves
  • 原文地址:https://www.cnblogs.com/llw1121/p/6133947.html
Copyright © 2020-2023  润新知