关于NS2安装的若干问题
之前就知道这个软件安装起来很恶心,因为毕竟是10年前的软件,可没想到真的好恶心...花了整整一天才装上.
我安装的版本是ns-allinone-2.28,系统版本是ubuntu14.04
其实大部分出现的问题在别人的博客都能解决,但是有一些不能.
下面列出我遇到的,自己解决的问题,之前没截图,大概写下吧
1.int* 到 int丢失精度的问题
这个问题我查了一些资料发现,原来的版本是32位的,而我的ubuntu是64位的,所以会出现丢失精度的问题(64位里int和32位里的长度不一样)
解决方法: 把出现问题的文件打开,对具体某行(问题里会说明,如果没给出具体行数就真的爆炸)修改,修改方法是把原来的int类型改成 unsigned long int类型
这一类的问题都可以这么修改
2.const char* 不能转换到char*的问题
这个问题很容易解决,找到具体文件具体行,强制类型转换为char*就可以
3.fix_x86_64-unknown-linux-gnu.sh
第三个问题是开始遇到的,记不太清了,大概就是无法识别64位之类的,总之运行个补丁脚本就可以了,网上可以查到这个脚本
其他还有的问题都是根据报错的信息可以直接修改的,例如删除掉一些前缀之类的,有些找不到变量的情况网上都有相关补充定义变量的方法
昨天大概就是遇到这些问题,还有些小问题不细说,总之安装了无数遍终于安装完
但是事情没这么简单,今天我想测试一个demo的时候,发现nam不能用!!!当时我的内心是崩溃的.
我在ns的文件夹里搜了一下,发现根本就没有nam.exe这个文件.网上查了好久也没找到这种错,当时感觉真的神烦,后来运气好,在全盘里搜了下,
发现其实是有nam.exe的,但是跑到usr/bin里面,于是我果断复制粘贴到ns的bin里,以为这下子终于搞定了
但我在运行nam时候,又你妹的报错了
$nam
这时就会出现下面的错误提示:
[code omitted because of length]
: no event type or button # or keysym
while executing
"bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
invoked from within
"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."
百度后发现,这个是由于nam调用的tk组件和xproto-7.0.13不兼容导致的(xproto-7.0.13 新添加了 GenericEvent)。解决方法如下:
在tk-8.4.11/generic/tkBind.c的第588行后添加3行代码
添加后,效果为:
/* MappingNotify / 0,
#ifdef GenericEvent
/* GenericEvent */ 0,
#endif
/* VirtualEvent */ VIRTUAL,

改过后需要重新在ns文件夹目录下./intsall
网上的解决方案基本都是这个,但是我用了发现仍然不能解决我的问题.倒腾了半天,忽然发现我ns文件夹里的bin中的nam.exe是可以打开nam的(第一次看到nam,很激动)

但是usr/bin里的nam.exe打不开,哦!原来usr里的这玩意是以前没改过的!
所以把可执行的那个nam.exe拷贝到usr里就搞定了,其中有个小问题,在usr下默认是没有权限复制文件过去的,需要这条命令: sudo nautilus
效果就是可以以最高权限打开一个文件夹,然后就是复制粘贴的事了,最终运行simple.tcl,终于出现nam动画了!

这下ns2算是老老实实的被我装好了:) 也算是我ns2学习之路的第一步,搞个博客纪念下,没人看也无所谓,习惯自嗨~
关于NS2安装的若干问题的更多相关文章
- 【工具】NS2安装记录
献给同样为了NS2抓破了头皮的同志们. 1, Get Started: http://www.isi.edu/nsnam/ns/ns-build.html#allinone Build by piec ...
- NS2安装过程中环境变量设置的问题(ns-2.35)
nam: Can't find a usable tk.tcl in the following directories: */ns-allinone-2.35/tcl8.5.10/library/t ...
- Ubuntu中NS2安装详细教程
前言: NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的.免费的软件模拟平台,研究人员使用它可以很容易的 ...
- Ubuntu 16——安装——ns2.35和nam
Ubuntu 16.04 安装ns2.35+nam 总结出以下安装步骤 1: 更新源 sudo apt-get update #更新源列表 sudo apt-get upgrade #更新已经安装的包 ...
- 【NS2】ubuntu安装和同时使用不同版本的ns2(转载)
有时候我们可能会遇到要同时安装两个ns版本的问题,比如我研究wimax/802.16,因为协议太复杂,用的是长庚大学和nist的wimax补丁.长庚大学的wimax补丁是在ns2.29下开发的,nis ...
- 普通windows版本安装winServer的特色功能 以dedup功能为展示点
安装 Windows 功能角色 1.选择安装源 在 Windows 8.1 系统上不存在重复数据删除功能,需要从对应的服务器版本,即 Windows Server 2012 R2 上提取相关文件. 2 ...
- CentOS7.1下JDK+Tomcat应用环境搭建
最近由于项目的原因,需要测试Linux环境下的应用部署情况.选用了CentOS7.1版本+JDK1.6版本+Tomcat7.0版本进行搭建.其间各种折磨就不说了,随手把相关的注意事项和大概的步骤记录下 ...
- Hadoop数据操作系统YARN全解析
“ Hadoop 2.0引入YARN,大大提高了集群的资源利用率并降低了集群管理成本.其在异构集群中是怎样应用的?Hulu又有哪些成功实践可以分享? 为了能够对集群中的资源进行统一管理和调度,Hado ...
- 一加3T 误清除data 恢复数据
数据丢失经过:日常用机无备份直接操作:装google框架后,rootexplorer文件浏览器删除多余google应用导致无法开机:开机不成功应该重刷入google gapps包,并没有这样操作而是进 ...
随机推荐
- python除法
1. >>> from __future__ import division >>> 2/3 0.6666666666666666 操作数为何种数值类型将影响结果 ...
- Linux 概念架构的理解
摘要 Linux kernel 成功的两个原因: 架构设计支持大量的志愿开发者加入到开发过程中: 每个子系统,尤其是那些需要改进的,都支持很好的扩展性. 正是这两个原因使得 Linux kernel ...
- Bootstrap_分页
一.带页码的分页导航 <ul class="pagination"> <li><a href="#">«</a> ...
- js实现手机号码和身份证号码校验
<script type="text/javascript"> function checkform() { var re; var ss = document.get ...
- Knockout学习笔记之二($root,$parent及$data的区别)
以下是我从Google上找到的一个例子,非常生动形象,我修改了部分代码,具体内容如下: 对于$root 与$parent的区别: $root refers to the view model appl ...
- python 安装模块步骤
1.下载 pyocr-0.4.1.tar.gz tar.gz文件 解压 放到 c:/python27 文件夹下面 C:\Python27\pyocr-0.4.1 直接 cmd 命令 进入 ...
- 个人对beta发布的观点
内容:五个小组的beta发布 时间:2016年11月10日 13:40-15:15 地点:传媒西楼202 发布顺序: 1.飞天小女警(选礼物) 2.金州勇士(在线考试) 3.新蜂(俄罗斯方块) 4.天 ...
- 读<jquery 权威指南>[4]-Ajax
一.获取异步数据 jQuery可以从服务器异步获得静态数据. ①load() $.load(url,data,callback) url要加载的页面地址, data发送到服务器的数据key/value ...
- docker初学笔记
什么是docker 不准确的说,docker是一种轻量级的虚拟机,它把可执行文件和运行环境打包成一个image,放在容器里运行,但是启动速度比虚拟机快很多,资源消耗小.这种技术主要是为了解决部署环境的 ...
- CentOs6.5下独立安装Nginx篇
一.检查系统是否安装了Nginx [root@localhost local]# find -name nginx [root@localhost local]# (如果已经安装了nginx就卸载掉原 ...