我选择的版本是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的更多相关文章
-
Ubuntu14.04下安装Hadoop2.5.1 (单机模式)
本文地址:http://www.cnblogs.com/archimedes/p/hadoop-standalone-mode.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudo ...
-
二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)
在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置 一.配置core-site.xml /usr/local/hadoop/etc/hadoop/core-site.xml ...
-
Ubuntu14.04下安装Flash Player
Ubuntu14.04下安装Flash Player youhaidong@youhaidong:~$ sudo apt-get install flashplugin-nonfree [sudo] ...
-
Ubuntu14.04下 安装p4c
参考: Github p4c README Ubuntu14.04下 安装p4c 这里提供一个直接安装p4c的脚本:install_p4c.sh. 1.git clone下来p4c: $ git cl ...
-
Ubuntu14.04下安装Libsvm,并使用Libsvm
(1)Ubuntu14.04下安装Libsvm 转载:https://blog.csdn.net/katrinawj/article/details/78915874 一.下载: 网址:http:// ...
-
ubuntu14.04下安装ffmpeg
ubuntu14.04下安装ffmpeg 一.安装各种依赖包 1.yasm(libx264需要依赖yasm) sudo apt-get install yasm 2.libx264 sudo apt- ...
-
ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录
已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照: ...
-
在Ubuntu14.04下安装Docker CE(1) - repository篇
从2017年3月开始,Docker开始分为社区版本和企业版,也就是Docker CE和Docker EE, 原来Ubuntu14.04下,通过sudo apt-get install docker.i ...
-
ubuntu14.04下安装爬虫工具scrapy
scrapy是目前准备要学习的爬虫框架,其在ubuntu14.04下的安装过程如下: ubuntu14.04下默认安装了2.7的python以及setuptools,若未安装,可通过下面指令安装: s ...
随机推荐
-
Nova PhoneGap框架 第八章 滚动条
你可能会疑惑为什么滚动条这么常见的功能会在这里单独列出,但如果你有过PhoneGap开发经验的话,你就会发现要在Android 2.3 里面实现滚动条那真不是一件容易的事. 8.1 概述 目前主流的P ...
-
DataGridView 操作
//dataGridView 删除选中行 int num = dataGridView2.SelectedRows.Count; ) { DataGridViewRow r = dataGridVie ...
-
转:PHP开发者应了解的24个库
原文来自于:http://blog.jobbole.com/54201/ 作为一个PHP开发者,现在是一个令人激动的时刻.每天有许许多多有用的库分发出来,在Github上很容易发现和使用这些库.下面是 ...
-
(转)C# WinForm中 获得当前鼠标所在控件 或 将窗体中鼠标所在控件名显示在窗体标题上
原文地址:http://www.cnblogs.com/08shiyan/archive/2011/04/14/2015758.html /********************** * 课题:将窗 ...
-
Android - 支持不同的设备 - 支持不同的平台版本
在最新版本的Android为app提供很好的新API时,也应该继续支持旧版本的Android直到大部分设备已经更新了.这里将要介绍如何在使用最新API带来的优点的同时继续支持老版本. Dashboar ...
-
unity中的委托
中午在做一个 数据点击然后 想把当前的Gameobject传过去,但是想了好久就是弄不出来. 之后网上看了下委托,抱着试试的心态,结果成功了 委托的定义 private delegate void C ...
-
vue组件,通过props父组件给子组件传值,WTF, 子组件报错undefined???
如果是正常操作,找了半天又找不到为什么undefined, 那很可能是props的命名出了问题: 不要用小驼峰式命名 例如这种childrenData 这种形式就会报错undefined 请尽量用全 ...
-
Oracle Flashback 详解
Oracle flashback 是一种方便快捷的数据库恢复技术,它不使用备份文件,通过闪回日志可以使数据库恢复到过去的某个状态,当用户发生逻辑错误时(误删表数据.表.表空间等)需要快速恢复数据库,可 ...
-
eclipse jee使用
eclipse jee 安装 已经安装过elipse for Java,不知道会不会冲突? 查过,原来,你就算安装多个elipse for java都没事,更不用说jee.我选择的是eclipse-i ...
-
UVA10054_The Necklace
很简单,求欧拉回路.并且输出. 只重点说一下要用栈来控制输出. 为啥,如图: 如果不用栈,那么1->2->3->1就回来了,接着又输出4->5,发现这根本连接不上去,所以如果用 ...