我选择的版本是2.35最新版本,安装环境是Ubuntu 14.04。

1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包,all in one 安装包包含所有的组件,比较方便,另附下载地址:

http://www.isi.edu/nsnam/ns/ns-build.html

2.安装前环境配置,输入如下代码:

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

3.ns2的解压和安装

首先把ns-allinone-2.35.tar.gz复制到home/xxx的文件夹下。xxx代表是你自己设置的ns2文件夹。然后进入终端,依次输入

tar -xzvf ns-allinone-2.31.tar.gz
cd ns-allinone-2.31
./install

不出意外的话,这一部分肯定是要出现各种各样的问题的,比如我出现的问题是:

linkstate/ls.h::: note: declarations in dependent base ‘std::map<int, LsIdSeq, std::less<int>, std::allocator<std::pair<const int, LsIdSeq>>>’ are not found by unqualified lookup
linkstate/ls.h::: note: use ‘this->erase’ instead
make: *** [linkstate/ls.o] Error
Ns make failed!

这个很简单,只要编辑ns-2.35/linkstate/ls.h,即

gedit ns-2.35/linkstate/ls.h

将第137行的代码由

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

改为

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

也就是把erase用this->erase替换掉就好了。

再次执行./install就可以安装成功了。

Tips:
由于每个人的机器环境条件不一样,出现的错误也不一样,所以有可能遇见各种各样的问题。这里建议大家讲bug代码粘贴到google中去搜索,一般都可以解决的。
重要的事情说三遍:
一定要用google!
一定要用google!
一定要用google!

4.配置环境变量

如果安装成功,终端会提示配置环境变量,包括PATH,LD_LIBRARY_PATH,TCL_LIBRARY三种环境变量。

重新打开一个终端,输入:

sudo gedit .bashrc

在文件最后添加如下代码:

export PATH=$PATH:/home/xxx/ns-allinone-2.31/bin:/home/xxx/ns-allinone-2.31/tcl8.4.14/unix:/home/xxx/ns-allinone-2.31/tk8.4.14/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/ns-allinone-2.31/otcl-1.13:/home/xxx/ns-allinone-2.31/lib
export TCL_LIBRARY=$TCL_LIBRARY:/home/xxx/ns-allinone-2.31/tcl8.4.14/library
//注意两个环境变量路径之间要用冒号:隔开

然后运行:

source .bashrc

就完成了环境变量的配置。

5.安装完成的验证

重新打开一个终端,输入:

ns

如果出现%就证明ns2已经安装成功了。

如果没有出现%,可以重新在终端输入:

source .bashrc
ns

这时候应该就完美的出现了%,证明ns2应经安装好了。

6.实例example

在终端输入:

cd ns-allinone-2.31/ns-2.31/tcl/ex
ns example.tcl

如果出现了数据,证明ns2运行正常。

再输入

ns simple.tcl

如果出现nam的控制窗口和帮助屏,则表示nam安装成功。可以在nam控制窗口进行动画演示。自此,ns2.35完全安装成功。

Ubuntu14.04下安装ns2.35的更多相关文章

  1. Ubuntu14.04下安装Hadoop2.5.1 (单机模式)

    本文地址:http://www.cnblogs.com/archimedes/p/hadoop-standalone-mode.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudo ...

  2. 二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)

    在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置 一.配置core-site.xml /usr/local/hadoop/etc/hadoop/core-site.xml ...

  3. Ubuntu14.04下安装Flash Player

    Ubuntu14.04下安装Flash Player youhaidong@youhaidong:~$ sudo apt-get install flashplugin-nonfree [sudo] ...

  4. Ubuntu14.04下 安装p4c

    参考: Github p4c README Ubuntu14.04下 安装p4c 这里提供一个直接安装p4c的脚本:install_p4c.sh. 1.git clone下来p4c: $ git cl ...

  5. Ubuntu14.04下安装Libsvm,并使用Libsvm

    (1)Ubuntu14.04下安装Libsvm 转载:https://blog.csdn.net/katrinawj/article/details/78915874 一.下载: 网址:http:// ...

  6. ubuntu14.04下安装ffmpeg

    ubuntu14.04下安装ffmpeg 一.安装各种依赖包 1.yasm(libx264需要依赖yasm) sudo apt-get install yasm 2.libx264 sudo apt- ...

  7. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录

    已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照: ...

  8. 在Ubuntu14.04下安装Docker CE(1) - repository篇

    从2017年3月开始,Docker开始分为社区版本和企业版,也就是Docker CE和Docker EE, 原来Ubuntu14.04下,通过sudo apt-get install docker.i ...

  9. ubuntu14.04下安装爬虫工具scrapy

    scrapy是目前准备要学习的爬虫框架,其在ubuntu14.04下的安装过程如下: ubuntu14.04下默认安装了2.7的python以及setuptools,若未安装,可通过下面指令安装: s ...

随机推荐

  1. Hibernate HQL查询:

    Hibernate HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查 ...

  2. Html5 Canvas Text

    html5 canvas中支持对text文本进行渲染;直接的理解就是把text绘制在画布上,并像图形一样处理它(可以加shadow.gradient.pattern.color fill等等):既然它 ...

  3. 64位Window操作系统下,Orcal数据访问服务器端和客户端版本对应与通讯问题

    最近做一个小系统,需要在客户现场搭建数据库环境.之前我们一直访问的是公司的一个测试库,现在需要在现场开发,现场的Orcal服务器是12C ,我们本不打算重装服务器端orcal,故将我们自己电脑的orc ...

  4. JS中区分参数方法

    实现功能:在使用cocosjs制作游戏过程中,很多东西都可以重复使用,例如菜单栏等等.今天尝试写了一个自定义的Js文件用作菜单方便以后使用. 将菜单按钮,以及触发事件作为参数生成一个层 直接在游戏中使 ...

  5. Hibernate 一对多双向关联Demo

    以Classes[班级]和Student[学生]为例的Demo //Classes.java public class Classes implements Serializable { privat ...

  6. 跟我学android-android常用布局介绍

    在上一章我们曾经谈到,Android平台的界面 是使用XML的方式设计的,然后在上一章我们只做了一个简单的界面,在这章,我们将介绍如何使用常用的控件设计实用的界面. Android中的视图都是继承Vi ...

  7. Android动画 fillAfter和fillBefore

    fillBefore是指动画结束时画面停留在此动画的第一帧; fillAfter是指动画结束是画面停留在此动画的最后一帧. java代码设置如下: /*****动画结束时,停留在最后一帧******* ...

  8. .NET,你真的 知道了吗

    搞清自己是干什么的 有人问你是做什么的,回答是:"我是做,NET开发的",有的人也会问:"那.NER.是什么?"刚开始我认为是一个开打工具,后认为是一个平台,一 ...

  9. Samba 服务器介绍

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...

  10. 使用django-mssql时候报pythoncom模块不存在

    pip install django-mssql是链接sqlserver的数据库db引擎,这里用到了pythoncom模块,所以还需要安装 pip install pypiwin32 settings ...