NS2安装及入门实例——(ns2.35 / Ubuntu20.04)

文章目录

  • 一、ns2安装
    • 1、更新系统源
    • 2、准备工作
    • 3、下载安装包
    • 4、安装
    • 5、问题
      • ① 问题1
      • ② 问题2
      • ③ 问题3
    • 6、安装成功
    • 7、环境配置
  • 二、nam安装
    • 1、安装
    • 2、问题
  • 三、实例

一、ns2安装

1、更新系统源

sudo apt-get update
sudo apt-get upgrade

2、准备工作

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

3、下载安装包

官网下载地址:http://www.isi.edu/nsnam/ns/

点击 allinone

在这里插入图片描述

点击 current release 2.35

在这里插入图片描述

安装 ns-allinone-2.35.tar.gz

4、安装

sudo tar -zxvf ~/下载/ns-allinone-2.35.tar.gz -C /usr/local/
cd /usr/local
sudo mv ./ns-allinone-2.35 ./ns2
sudo chown -R hadoop:hadoop ./ns2
cd ns2
./install

5、问题

① 问题1

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

解决:

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

② 问题2

mdart/mdart_adp.cc:108:21: error: reference to ‘hash’ is ambiguous

在这里插入图片描述
解决:

sudo vim ns-2.35/mdart/mdart_function.h
230行:hash -> hash_o
sudo vim ns-2.35/mdart/mdart_adp.cc
108行:hash -> hash_o
396行:hash -> hash_o

③ 问题3

In file included from common/tkAppInit.cc:57:0:
./bitmap/play.xbm:5:74: error: narrowing conversion of ‘252’ from ‘int’ to ‘char’ inside

解决:全部加上 (char)
在这里插入图片描述

6、安装成功

在这里插入图片描述

7、环境配置

vim ~/.bashrc
source ~/.bashrc

加入一下配置:

export NS_HOME=/usr/local/ns2
export TK_HOME=$NS_HOME/tk8.5.10
export TCl_HOME=$NS_HOME/tcl8.5.10export PATH=$PATH:$NS_HOME/bin:$TK_HOME/unix:$TCL_HOME/unix
export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib
export TCL_LIBRARY=$TCL_HOME/library

输入 ns,进入成功:
在这里插入图片描述

二、nam安装

1、安装

cd /usr/local/ns2/nam-1.15
./configure
make
sudo make install

2、问题

configure: error: Installation of tcl seems incomplete or can't be found automatically.
Please correct the problem by telling configure where tcl is
using the argument --with-tcl=/path/to/package
(perhaps after installing it),
or the package is not required, disable it with --with-tcl=no.

解决:

sudo ./configure --with-tcl=/home/文件目 录/ns/tcl8.5.10 --with-tcl-ver=8.5.10 --with-tk=/home/文件目录/ns/tk8.5.10 --with-tk-ver=8.5.10

三、实例

cd /usr/local/ns2/ns-2.35/tcl/ex
ns simple.tcl

在这里插入图片描述

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

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

相关文章

数据结构与算法学习(day2)——冒泡排序

文章目录 前言冒泡排序题目题目一题目二 小结 前言 (1)在本章的学习此前,需要复习前一章的内容,动手敲一遍代码解题。 (2)经过上一章的操练以后,大家应该体会到了,简化版桶排序所要申…

gRPC之数据压缩Snappy、zstd

文章目录 gRPC之数据压缩Snappy一、背景二、什么是snappy1. Snappy适合场景 三、demo: Go代码实现了一个snappy压缩格式的压缩器for grpc1. 这段代码怎么保证并发安全的? 四、什么是zstd五、 zstd和snappy有什么区别,如何选择?六、demo: Go代码实现了一个zstd压缩格…

javascript深浅拷贝

概念 浅拷贝:新对象与原对象指向同一份内存地址 深拷贝:新对象与原对象完全独立,新对象与原对象指向的是两个内存地址 实现方式 浅拷贝 1.直接赋值 let source_obj {a: 1,b: 2 } let target_obj source_obj; 2.Object.assign let s…

Windows中的命令行提示符里的Start命令执行路径包含空格时的问题

转载:电脑知识收藏夹 Blog Archive Windows中的命令行提示符里的Start命令执行路径包含空格时的问题 当使用Windows 中的命令行提示符执行这段指令时(测试Start命令执行带空格的路径的程序或文件问题),第一行Start会成功执行,跳出记事本程…

Oracle 遍历变量游标

背景 由于我们的数据库系统中的游标特别多,DBA让我们优化,减少游标的使用。 电脑系统:windows数据库:Oracle数据库图形化界面工具:Toad,DBeaver(我測試的時候用的)记录日期:2023-09-04 具体实…

React Router 路由守卫

React Router 路由守卫 组件内路由守卫 1、下面是使用高阶组件实现路由守卫的示例代码&#xff1a; import React from react; import { Route, Redirect } from react-router-dom;const PrivateRoute ({ component: Component, isAuthenticated, ...rest }) > (<Rou…

计算机重点学科评级B-,山东省属重点高校考情分析

山东科技大学(B-) 考研难度&#xff08;☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1175字预计阅读&#xff1a;3分钟 2023考情概况 山东科技大学计…

Android12之解析/proc/pid进程参数(一百六十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

记一次诡异的Cannot find declaration to go to,Cannot resolve method

记一次诡异的 Cannot find declaration to go to&#xff0c; Cannot resolve method getOnExpressions in Join 对于项目中通常问题&#xff0c;清除缓存&#xff0c;重启idea&#xff0c;或者仔细检查语法通常都能解决问题&#xff0c;但是这次却失效了&#xff0c;以下是原…

Scala面向对象编程(高级部分)

1. 静态属性和静态方法 &#xff08;1&#xff09;回顾Java中的静态概念 public static 返回值类型 方法名(参数列表) {方法体} 静态属性… 说明: Java中静态方法并不是通过对象调用的&#xff0c;而是通过类对象调用的&#xff0c;所以静态操作并不是面向对象的。 &#xff0…

支持向量机(一)

文章目录 前言分析数据集线性可分情况下的支持向量机原始问题凸优化包解法对偶问题凸优化包解法 数据集线性不可分情况下的线性支持向量机与软间隔最大化 前言 在支持向量机中&#xff0c;理论逻辑很简单&#xff1a;最大化最小的几何间隔。但是实际编写代码过程中有一个小点需…

试用CSDN提供的AI创作助手生成关于Java个版本和未来发展的文章【AI】

本文是使用CSDN提供的AI创作帮手生成&#xff0c;出本句说明外其余均有AI生成&#xff0c;下面是我让AI列举各个Java版本的新功能和特点。 各个Java版本的新功能和特点 功能和特点&#xff1a; Java 8新功能和特点&#xff1a; Lambda表达式函数式接口方法引用Stream API接…

深入探讨Java Stream流:数据处理的新思维

文章目录 1. 流式思想1.1 输入流与输出流1.2 Stream流 2. 使用Stream流的步骤3. 获取Stream流3.1 容器3.2 数组 4. Stream流中间操作方法4.1 filter(Predicate<? super T> predicate)4.2 limit(long maxSize)4.3 skip(long n)4.4 distinct()4.5 sorted() 和 sorted(Comp…

Java使用pdfbox将pdf转图片

前言 目前比较主流的两种转pdf的方式&#xff0c;就是pdfbox和icepdf&#xff0c;两种我都尝试了下&#xff0c;icepdf解析出来有时候会出现中文显示不出来&#xff0c;网上的解决方式又特别麻烦&#xff0c;不是安装字体&#xff0c;就是重写底层类&#xff0c;所以我选择了p…

【Spring】aop的底层原理

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理 Spring 中的切面编程aop的底层原理和重点注意的地方 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以…

vue递归组件

父组件&#xff1a; <template><div><treeVue :treeData"treeData"></treeVue></div> </template><script setup lang"ts"> import { reactive } from "vue"; import treeVue from "./tree.vue…

Linux查看指定端口是否被占用

在Linux中&#xff0c;可以使用多种方法来检查一个特定端口&#xff08;例如3306&#xff0c;通常由MySQL使用&#xff09;是否被占用&#xff1a; 使用netstat命令: 如果系统中已安装了netstat&#xff0c;可以使用以下命令检查3306端口&#xff1a; netstat -tuln | grep 330…

人体呼吸存在传感器成品,毫米波雷达探测感知技术,引领智能家居新潮流

随着科技的不断进步和人们生活质量的提高&#xff0c;智能化家居逐渐成为一种时尚和生活方式。 人体存在传感器作为智能家居中的重要组成部分&#xff0c;能够实时监测环境中人体是否存在&#xff0c;为智能家居系统提供更加精准的控制和联动。 在这个充满创新的时代&#xf…

科技资讯|苹果Vision Pro头显申请游戏手柄专利和商标

苹果集虚拟现实和增强现实于一体的头戴式设备 Vision Pro 推出一个月后&#xff0c;美国专利局公布了两项苹果公司申请的游戏手柄专利&#xff0c;其中一项的专利图如下图所示。据 PatentlyApple 报道&#xff0c;虽然专利本身并不能保证苹果公司会推出游戏手柄&#xff0c;但是…

Redis6搭建高可用的多主多从集群

Redis6搭建高可用的多主多从集群 环境准备搭建redis6集群安装redis6修改配置文件修改cluster-enabled修改cluster-config-file修改cluster-node-timeout 启动集群 环境准备 首先我们需要6台redis&#xff0c;那么为啥是6太呢&#xff1f;是因为我们要部署多master和多slaver集…