ubuntu18.04安装NS2.35详细过程及遇到问题解决方法(菜鸟必看)!!!


ubuntu18.04安装NS2.35详细过程及遇到问题解决方法(菜鸟必看)!!!

本文详细的介绍NS2.35安装过程,并对安装过程中遇到问题提供解决方法,小白必看(本人也是菜鸟)

  1. 系统的更新 安装NS2必备软件包
  2. 下载安装包到自己指定的目录解压安装包
  3. 开始安装
  4. 配置NS2的环境变量
  5. 安装nam,验证NS2是否安装成功
  6. 安装过程遇到的问题及解决办法

1 :系统的更新 安装NS2必备软件包

        sudo apt-get update 
        sudo apt-get upgrade
        sudo apt-get dist-upgrade 
        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

2:下载安装包到自己指定的目录解压安装包
安装包下载: http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz
下载的压缩包一般会在主目录中的下载文件夹里,在这里我把它移到主目录新建的boy文件中,即( /home/demons/boy )

        cd boy                             #打开boy文件夹(boy文件夹中有下载的 ns-allinone-2.35压缩包)
        tar xvfz ns-allinone-2.35.tar.gz   #解压文件
        mv  ns-allinone-2.35 ns            #简化名称便于后续操作

3:开始安装

        cd boy/ns                           #打开含有 ns-allinone-2.35安装程序的文件夹
        sudo ./install                      #开始安装NS2

【注意】在安装NS2时前面一定要加sudo,即 sudo ./install 。否则会出现权限不够,而无法成功安装的问题。当页面出现如下图所示,表示安装成功(注意这里的安装路径可以拍照或者存文档保存一下)。
在这里插入图片描述

4:配置NS2的环境变量
步骤3安装成功后,按如下方式配置环境变量。

cd boy                             #打开含有ns-allinone-2.35安装包的文件
sudo gedit ~/.bashrc               #打开.bashrc文件

配置如下:

export PATH="/home/demons/boy/ns/bin:/home/demons/boy/ns/tcl8.5.10/unix:/home/demons/boy/ns/tk8.5.10/unix:$PATH"

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/demons/boy/ns/otcl-1.14:/home/demons/boy/ns/lib"

export TCL_LIBRARY="$TCL_LIBRARY:/home/demons/boy/ns/tcl8.5.10/library"

将这3个复制到打开的.bashrc文件中点击保存,这里的路径与步骤3中安装成功显示的路径是一样的。每一个人安装时的路径不一样,具体修改方法需要根据步骤3中显示的路径进行修改。
在这里插入图片描述
【注意】:打开.bashrc文件将上述代码复制到文件最后保存即可,如上图所示配置环境变量成功。

5:安装nam,验证NS2是否安装成功

      cd boy/ns/nam-1.15  #打开含有nam安装包的文件
      sudo ./configure    #准备安装nam
      sudo make
      sudo make install

验证:重启终端,输入ns会出现%,在%后面输入nam会出现如下界面,则表示安装成功。
在这里插入图片描述
6:安装过程遇到的问题及解决办法

(1)问题一:将 ns/ns-2.35/linkstate/ls.h中的137行void eraseAll() { erase(baseMap::begin(), baseMap::end()); }改为 void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); } 即:用 this->erase 代替 erase。

修改成功后如下图所示:
在这里插入图片描述
问题二:
在这里插入图片描述
出现该问题的原因是gcc版本过高,需要对gcc进行降级操作,解决方法如下:

             sudo apt-get install -y gcc-4.8       #下载gcc/g++ 4.8
             sudo apt-get install -y g++-4.8
             cd /usr/bin                           #gcc/g++实现降级
             sudo rm gcc
             sudo ln -s gcc-4.8 gcc
             sudo rm g++
             sudo ln -s g++-4.8 g++

本人在安装过程中遇到上述2个问题,所以只对这2个问题作出论述,如遇到其他问题请参考如下:
https://blog.csdn.net/miao0967020148/article/details/64503065

第一次写博客,个人能力有限,写的不好请多多指教。谢谢

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值