之前就知道这个软件安装起来很恶心,因为毕竟是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安装的若干问题的更多相关文章

  1. 【工具】NS2安装记录

    献给同样为了NS2抓破了头皮的同志们. 1, Get Started: http://www.isi.edu/nsnam/ns/ns-build.html#allinone Build by piec ...

  2. 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 ...

  3. Ubuntu中NS2安装详细教程

    前言: NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的.免费的软件模拟平台,研究人员使用它可以很容易的 ...

  4. Ubuntu 16——安装——ns2.35和nam

    Ubuntu 16.04 安装ns2.35+nam 总结出以下安装步骤 1: 更新源 sudo apt-get update #更新源列表 sudo apt-get upgrade #更新已经安装的包 ...

  5. 【NS2】ubuntu安装和同时使用不同版本的ns2(转载)

    有时候我们可能会遇到要同时安装两个ns版本的问题,比如我研究wimax/802.16,因为协议太复杂,用的是长庚大学和nist的wimax补丁.长庚大学的wimax补丁是在ns2.29下开发的,nis ...

  6. 普通windows版本安装winServer的特色功能 以dedup功能为展示点

    安装 Windows 功能角色 1.选择安装源 在 Windows 8.1 系统上不存在重复数据删除功能,需要从对应的服务器版本,即 Windows Server 2012 R2 上提取相关文件. 2 ...

  7. CentOS7.1下JDK+Tomcat应用环境搭建

    最近由于项目的原因,需要测试Linux环境下的应用部署情况.选用了CentOS7.1版本+JDK1.6版本+Tomcat7.0版本进行搭建.其间各种折磨就不说了,随手把相关的注意事项和大概的步骤记录下 ...

  8. Hadoop数据操作系统YARN全解析

    “ Hadoop 2.0引入YARN,大大提高了集群的资源利用率并降低了集群管理成本.其在异构集群中是怎样应用的?Hulu又有哪些成功实践可以分享? 为了能够对集群中的资源进行统一管理和调度,Hado ...

  9. 一加3T 误清除data 恢复数据

    数据丢失经过:日常用机无备份直接操作:装google框架后,rootexplorer文件浏览器删除多余google应用导致无法开机:开机不成功应该重刷入google gapps包,并没有这样操作而是进 ...

随机推荐

  1. fork &vfork --陈皓

    http://coolshell.cn/articles/7965.html http://coolshell.cn/articles/12103.html#more-12103 前两天有人问了个关于 ...

  2. Reflection

    Reflection 反射能在运行时获取一个类的全部信息,并且可以调用类方法,修改类属性,创建类实例. 而在编译期间不用关心对象是谁 反射可用在动态代理,注解解释,和反射工厂等地方. -------- ...

  3. ie6兼容之绝对定位元素内容为空时高度问题

    正常显示: ie6下显示: line6元素高度最小16px; 解决办法: 添加内容在空的div里,并且设置行高即可. 其中,非ie6浏览器不需要再空的div里加无谓的内容,再次需要用“条件注释”来解决 ...

  4. 封装对MongoDB数据库的增删改查访问方法(基于MongoDB官方发布的C#驱动)

    本文利用MongoDB官方发布的C#驱动,封装了对MongoDB数据库的增删改查访问方法.先用官方提供的mongo-csharp-driver ,当前版本为1.7.0.4714 编写数据库访问帮助类 ...

  5. [poj1200]Crazy Search(hash)

    Crazy Search Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26713 Accepted: 7449 Descrip ...

  6. Scrum Meeting 9-20151211

    任务安排 姓名 今日任务 明日任务 困难 董元财 请假(参加编译测试) 无 胡亚坤 首页界面优化 无 刘猛 请假(参加编译测试) 无 马汉虎 请假(参加编译测试) 无 赖彦俞 请假(参加编译测试) 无 ...

  7. myeclipse中disable maven nature

    1.直接原因:出现这个问题,一般都是因为手抖误操作. 但是出现了问题,还不知道从何查起. 可能出现的场景是eclipse安装Maven插件后,右键项目却找不到Maven按钮,继而无法编译项目. 2.实 ...

  8. redis 持久化 如果 AOF 文件出错了,怎么办?

    服务器可能在程序正在对 AOF 文件进行写入时停机, 如果停机造成了 AOF 文件出错(corrupt), 那么 Redis 在重启时会拒绝载入这个 AOF 文件, 从而确保数据的一致性不会被破坏. ...

  9. Centos7 搭建 Keepalived+LVS 备注

    NAT模型需要RealServer gateway设定为,DR模式需要执行 RealServer.sh.需要先安装network-tools. #!/bin/bash#description : st ...

  10. DeviceIoControl

    DeviceIoControl是kernel32中的函数,包含的头文件为winbase.h. BOOL DeviceIoControl( HANDLE hDevice,                 ...