Ubuntu16 04下安装ns2 35

本文档详细介绍了在Ubuntu 16.04下安装ns2 35的步骤,包括更新系统安装包、安装依赖、下载编译安装、配置环境变量以及验证安装成功的全过程。在安装过程中,提到了可能遇到的gcc版本不兼容问题及解决方案。同时,文中还强调了配置环境变量的重要性,避免错误提示。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

> 前言:

虽然ns3已经出来好多年了,但是鉴于ns2的资料相对多些,目前大多数论文中用的仿真器还是ns2比较多。今年Ubuntu已经更新到了16.04或者16.10,网上的一些教程略微需要改动,鉴于此,总结了下面的安装步骤,其中会提到运行中常出现的问题以及解决方法。参考的博客网址有:

Ubuntu 15.10安装ns2.35+nam
SUMO仿真快速入门系列四:Ubuntu 12.04 安装ns2.35

补充一下:有的同学在Ubuntu16.10无法顺利安装,我的教程是在16.04环境下,所以如果您按照我的教程无法成功安装的话,建议安装Ubuntu16.04)


> 步骤一:更新一下系统的安装包,

这个有的时候很有必要,Ubuntu的源有时会莫名其妙的不能用了

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

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

sudo apt-get install build-essential
  
  • 1
sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev  #for tcl and tk 
  
  • 1

个人说明一下:安装这个依赖包后,在以后调试涉及./configure时会提示找不到tcl的路径,解决方法是    ./configure –with-tcl-ver=8.5

sudo apt-get install libxmu-dev libxmu-headers  #for nam
  
  • 1

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

ns2.35官网下载地址

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

tar xvfz ns-allinone-2.35.tar.gz    #这个可以图形化操作cd ns-allinone-2.35                 #这个可以图形化操作 ./install                          #进行安装
  
  • 1
  • 2
  • 3

第一次安装报错:

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

修改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)

gedit  ~/.bashrc     # ~ 这个符号为当前用户根目录,即/home/用户名
  
  • 1

直接在文档的最后面加上以下环境变量(把用户名改成你的就行):
(注意:你在第一步更新tk和tcl时,版本如果是8.15.19或者其他版本,请替换以下中8.5.10为你的版本号)

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/unixexport LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib  export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library   
  
  • 1
  • 2
  • 3
  • 4

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

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

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


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

先重新打开一个新的终端:

cd ns-allinone-2.35/ns-2.35/tcl/ex/ns simple.tcl
  
  • 1
  • 2

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

倘若提示nam没有安装(Ubutnu16.04没有出现这个问题),执行以下命令

cd ns-allinone-2.35/nam-1.15     #进入nam目录 ./configure --with-tcl-ver=8.5   #重新配置make                             #重新编译源码make install                     #重新安装
  
  • 1
  • 2
  • 3
  • 4

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

注意:如果通过“sudo apt-get install nam”安装的nam,执行nam命令会报异常
        “段错误,核心文件已转储”
        遇到该问题的网友可以“sudo apt-get remove –purge nam”卸载nam及其配置后按Step6安装。

           

给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
这里写图片描述
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值