zoukankan      html  css  js  c++  java
  • 在Ubuntu18.04lts下安装NS2(含nam)

    前言

    NS2(Network Simulator,version 2)是一种面向对象的网络仿真器。在学习NS2的过程中,学会安装NS2也是非常重要的。经过在网上查阅资料和一个下午的折腾,终于在Ubuntu18.04 LTS上安装好NS2并成功运行。以下是我大致的安装步骤。

    Step1:升级更新

    sudo apt-get update
    sudo apt-get upgrade
    

    Step2:下载ns2.35

    2.1 方法1

    链接:http://nchc.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz

    在网页下载好压缩包后,打开文件所在文件夹(Show in folder)。然后右击鼠标Open in Terminal,把下载的ns-allinone-2.35压缩包解压到目录 /home/ns2

    sudo mkdir /home/ns2
    sudo tar -zxvf ns-allinone-2.35.tar.gz -C /home/ns2/
    

    2.2 方法2

    用wget下载到 /home/ns2并解压

    sudo mkdir /home/ns2
    sudo wget -P /home/ns2 http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz 
    sudo tar -zxvf ns-allinone-2.35.tar.gz
    

    Step3:安装ns2需要的软件包

    sudo apt-get install build-essential
    sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev 
    sudo apt-get install libxmu-dev libxmu-headers
    

    Step4:安装

    cd /home/ns2/ns-allinone-2.35
    

    先别急着./install,先修改一个错误文件

    sudo vim ns-2.35/linkstate/ls.h
    :137 #跳到第137行
    
    把
    void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
    改为:
    void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
    

    保存并退出。

    接下来要注意的是:ns2只支持g++版本4.4~5.4,所以在这里下载 g++-4.8后进行安装(未尝试其他版本)

    sudo apt install g++-4.8
    sudo export CC=gcc-4.8 CXX=g++-4.8 && ./install  # 这里是在gcc-4.8,g++-4.8的环境下执行安装
    

    如果出现一堆文字You must… 则说明安装成功,接下来设置环境变量。

    如果仍然没有成功安装,尝试移除g++后,重新安装g++-4.8后再执行上条安装命令。

    Step5:配置环境变量

    sudo gedit /home/你的用户名/.bashrc
    

    用别的编辑器也行,这里用的是gedit。

    在最后一行下面,加上

    # add path for ns2
    export PATH=”$PATH:/home/ns2/ns-allinone-2.35/bin:/home/ns2/ns-allinone-2.35/tcl8.5.10/unix:/home/ns2/ns-allinone-2.35/tk8.5.10/unix
    export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/home/ns2/ns-allinone-2.35/otcl-1.14:/home/ns2/ns-allinone-2.35/lib”
    export TCL_LIBRARY=”$TCL_LIBRARY:/home/ns2/ns-allinone-2.35/tcl8.5.10/library”
    

    保存即可。

    如果是使用zsh的,则在 ~/.zshrc 中添加环境变量,内容如上。

    Step6:验证ns2安装

    关闭终端,重启终端,输入ns,出现%,则说明ns2安装成功。

    Step7:安装nam

    cd /home/ns2/ns-allinone-2.35/nam-1.15
    sudo ./configure
    sudo make
    sudo make install
    

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

    Step8:测试simple.tcl

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

    安装注意事项

    1. 记得修改ls.h文件中的错误(添加 "this->")
    2. 出现"hash"错误时,试试更换到g++-4.8
    3. 没有配置环境变量,验证ns时会提示无用命令。注意你使用的是bash还是zsh,用的bash则在 /home/你的用户名/.bashrc中添加,用的zsh则在 ~/.zshrc中添加

    作为初学者,没有弄懂其中的原理,但是能在Ubuntu18.04 LTS中成功安装NS2,多有不足之处,望多多包涵。

    致谢
    本文参考了以下两篇网文:文献1文献2,在此向作者表示感谢!
    欢迎大家指正!

  • 相关阅读:
    11.10 日志
    1120day户别确认
    10.28代码
    hdu 1695 GCD (莫比乌斯反演)
    8月19日
    多态在子父类中的成员上的体现的特点
    JAVA学习日报 10/29
    JAVA学习日报 10/26
    JAVA学习日报 11/2
    JAVA学习日报 10/30
  • 原文地址:https://www.cnblogs.com/xyz-8108923246/p/13831529.html
Copyright © 2011-2022 走看看