ubuntu16.04下安装NS-2.35以及对simple例的理解

  本人是在VMWare上安装的ubuntu16.04版本,然后安装NS2.35.

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.4 tcl8.4-dev tk8.4 tk8.4-dev

$sudo apt-get install libxmu-dev libxmu-headers

3.ns2的解压和安装(也可以在ubuntu下联网用命令下载安装)

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

tar -xzvf ns-allinone-2.35.tar.gz

cd ns-allinone-2.35

./install

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

 

linkstate/ls.h:137:27: 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:137:27: note: use ‘this->erase’ instead

make: *** [linkstate/ls.o] Error 1

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就可以安装成功了。

因为每个人的计算机不一样所以出现的问题也可能不一样所以建议大家出现问题去用google去查。

4.配置环境变量

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

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

sudo gedit .bashrc

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

 

export PATH=$PATH:/home/xxx/ns-allinone-2.35/bin:/home/xxx/ns-allinone-2.35/tcl8.5.10/unix:/home/xxx/ns-allinone-2.35/tk8.5.10/unix

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/ns-allinone-2.35/otcl-1.14:/home/xxx/ns-allinone-2.35/lib

export TCL_LIBRARY=$TCL_LIBRARY:/home/xxx/ns-allinone-2.35/tcl8.5.10/library
//注意两个环境变量路径之间要用冒号:隔开

 

然后运行:

source .bashrc

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

5.安装完成的验证

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

ns

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

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

source .bashrc
ns

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

6.实例example

在终端输入:

cd ns-allinone-2.35/ns-2.35/tcl/ex

ns example.tcl

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

再输入

ns simple.tcl

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

 

Nam 无法启动

 

进入nam目录:cd ns-allinone-2.35/nam-1.15
进入后sudo ./configure,然后sudo make
最后sudo make install
命令行输入nam弹出nam console说明nam安装成功。
注意:如果通过“sudo apt-get install nam”安装的nam,执行nam命令会报异常
“段错误,核心文件已转储
遇到该问题的网友可以“sudo apt-get remove --purge nam”卸载nam及其配置后按Step6安装。

 

将tcp协议分组和延时用gnuplot显示出来,先安装gnuplot :sudo apt-get install gnuplot -x11

然后gawk -f exmple.tcl out.tr > pc(先安装gawk命令)

终端下:

gnuplot

plot 'pc' with lines显示出界面。 

 

 

 

转载于:https://www.cnblogs.com/yangfan-123/p/shaonianyuntu.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux查看登录服务器的ip历史记录,通过登陆IP记录Linux所有用户登录所操作日志的方法...

对于Linux用户操作记录一般通过命令history来查看历史记录&#xff0c;但是如果在由于误操作而删除了重要的数据的情况下&#xff0c;history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢&#xff1f;其实我们可以通过登陆IP地址来记录所有用户登录所操…

linux 向程序发送信号,Linux下的信号处理

Linux下的信号处理发布时间:2006-01-02 09:34:14来源:红联作者:reing前言&#xff1a;这一章我们讨论一下Linux下的信号处理函数。Linux下的信号处理函数&#xff1a;信号的产生信号的处理其它信号函数一个实例1.信号的产生Linux下的信号可以类比于DOS下的INT或者是Windows下的…

思科模拟器:[1]安装及汉化详解

思科模拟器是网络工程师经常使用的网络实验模拟软件&#xff0c;它可以很快捷的模拟网络中的各种设备(交换机、路由器、台式电脑、笔记本电脑、服务器、网络云)&#xff0c;搭建各种网络环境&#xff0c;模拟网络拓扑结构等。下面天使图文教程&#xff0c;告诉大家怎么安装这个…

linux中的加法函数,上下文管理练习(为加法函数计时)

上下文管理(为加法函数计时)为加法函数计时使用装饰器显示该函数的执行时长使用上下文管理显示该函数的执行时长装饰器实现import timeimport datetimefrom functools import wrapsdef logger(fn):wraps(fn) # wraps(fn)(wrapper)def wrapper(*args, **kw):start datetime.dat…

07数组与接口

1、运行TextInherists.java 示例&#xff0c;观察输出&#xff0c;注意总结父类与子类之间构造方法的的调用关系&#xff0c;修改parent构造方法的代码&#xff0c;显式调用grandparent另一个构造函数。 源代码&#xff1a; class GrandParent{ public GrandParent(){ System.o…

windows 访问linux中的mongodb,MongoDB的linux系统下的安装与连接

一 安装MongoDB的服务下载Linux系统下的MongoDB安装包上传压缩包到linux服务器中&#xff0c;解压到对应的安装目录下mkdir /usr/local/mongodbtar -zxvf mongodb-linux-x86_64-4.0.10.tgzmv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb新建目录&#xff0c;分别用来存储数…

像阿超那样,花20分钟写一个能自动生成小心四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。 和同学们比较一下各自程序的功能,实现方法的异同,等等...

package chapter;public class szys { public static void main(String[] args) { print30Questions(); } private static void print30Questions() { //说明&#xff1a;打印30道题函数&#xff0c;把接收到的题目字符串按照指定格式输出。…

linux sqlserver 管理工具,Linux连接SqlServer的图形化工具SQuirrel

SQuirrel SQL一款基于java的数据库管理工具。所以可以运行在任意平台上&#xff0c;除了界面丑一点。在windows上我绝对不会选的&#xff0c;navicat多好。安装下载地址&#xff1a;https://sourceforge.net/projects/squirrel-sql/?sourcetyp_redirect在控制台运行&#xff1…

【转】C++怎么读写windows剪贴板的内容?比如说自动把一个字符串复制.

// 复制数据至剪切板BOOL CopyToClipboard(const char* pszData, const int nDataLen){ if(::OpenClipboard(NULL)) { ::EmptyClipboard(); HGLOBAL clipbuffer; char *buffer; clipbuffer ::GlobalAlloc(GMEM_DDESHARE, nDataLen1); …

linux中sort命令实例,Linux命令之排序命令sort使用实例

名称&#xff1a;sort位置&#xff1a;/usr/bin/sort权限&#xff1a;所有用户用法&#xff1a; sort [OPTION]... [FILE]...sort [OPTION]... --files0-fromF选项&#xff1a;-b --ignore-leading-blanks 忽略最前面的空格-f --ignore-case fold lower case to…

JDK源码包结构分类

最近查看JDK源码时&#xff0c;无意间发现几个类在陌生包里&#xff1a;com.sun.*、sun.*、org.*&#xff0c;google了一把总结了下以备他人搜索&#xff0c;如内容有误欢迎指正&#xff01;Jre库包含的jar文件(jdk1.6)&#xff1a;resources.jar、rt.jar、jsse.jar、jce.jar、…

linux帮助命令和用法,Linux命令帮助及history命令的使用

1.Linux命令帮助的获取详解在Linux中获取命令帮助时&#xff0c;内部命令和外部命令的获取方式是有区别的&#xff1a;即(1)内部命令&#xff1a;#help COMMAND? #man bash(2)外部命令&#xff1a;<1> # COMMAND --help# COMMAND -h<2> 使用手册(manu…

GJM :Sql 各种语句 以及函数 [转载]

版权声明&#xff1a;本文原创发表于 【请点击连接前往】 &#xff0c;未经作者同意必须保留此段声明&#xff01;如有侵权请联系我删帖处理&#xff01;1.更改数据库的名称 2.表中有数据的情况下再添加列、删除列 3.在SQLServer 中各种查询语句的使用示例 4.模糊查询的语句 5.…

linux中断处理体系结构分析(一),Linux中断处理体系结构分析(二)

1.中断处理的体系结构我们知道编写设备驱动程序一定要用到中断处理函数&#xff0c;这在驱动程序的编写中&#xff0c;占据很重要的一部分。在响应一个特定的中断的时候&#xff0c;内核会执行一个函数&#xff0c;该函数叫做中断处理程序(interrupt handler)或中断服务例程(in…

c语言作业题五六章答案,数据结构(C语言版)第五六章习题答案

数据结构(C语言版)第五六章习题答案,人民邮电出版社,答案很详细。(15)设F是一个森林&#xff0c;B是由F变换得的二叉树。若F中有n个非终端结点&#xff0c;则B中右指针域为空的结点有( )个。A&#xff0e; n-1 B&#xff0e;n C&#xff0e; n1 D&#xff0e; n22&#xff0e;应…

福州大学c语言考试答案,C语言练习模拟考福州大学工程技术学院.doc

C语言练习模拟考福州大学工程技术学院.doc1 课程课程 专业专业 姓名姓名 学号学号 总评成绩总评成绩 一、单选题一、单选题将将正确正确选项选项的的字母字母填在填在答题答题纸纸上上。每小题。每小题 1 1 分&#xff0c;共分&#xff0c;共 2 25 5 分分) ) 1 1在计算机上可以…

Android中土司(Toast)的使用

Android中Toast的使用 什么是土司(Toast)? Toast是Android系统提供的一种非常好的提示方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何的屏幕空间. 下面我们通过代码来体验一下土司在Android中的使用 1 import android.a…

atoll找不到标识符c语言,C/C++编程笔记:C++中的atol,atoll和atof函数

1、atol()此函数将作为参数传递给函数调用的C类型字符串转换为长整数。它解析C字符串str&#xff0c;将其内容解释为整数&#xff0c;并作为long int类型的值返回。该函数丢弃出现在字符串开头的空白字符&#xff0c;直到找到非空白字符为止。如果C字符串str中的非空白字符序列…

cvc个人记录[为了方便以后查看]

1、摄中拍是需要要求的&#xff0c;图像帧数太快不能进行摄中拍

c语言文件压缩与解压缩实验报告,哈弗曼树的文件压缩和解压实验报告(C语言).doc...

Lab05 树结构的应用学号&#xff1a; 姓名&#xff1a; 实验时间&#xff1a;2011.5.241.问题描述哈弗曼树的编码与译码— 功能&#xff1a;实现对任何类型文件的压缩与解码— 输入&#xff1a;源文件&#xff0c;压缩文件— 输出&#xff1a;解码正确性判定&#xff0c;统计压…