在CentOS6.0(内核版本2.6.32-71.el6.i686 )发行版中,基于2.6.32的内核协议栈部分做了适当调整,因此我们在选择ns2的安装版本时就不可以选择较老的版本,因为很多东西都编译不过。就拿常见的struct dev_net{}结构来说就发生了比较大的变化,因此这里我选择ns-allinone-2.34.tar.gz来安装。

1、当然是确保你已经安装了内核源代码。至于如何构建内核源码树,安装内核源码,可以参照我的另一篇博文“CentOS6.0下安装Freeiris2/Asterisk全程指导教程”。这里就不再浪费笔墨了。

2、如果你和我一样安装的是Software Development Workstation版本,那么gcc、g++这些基本的工具包就已经存在,否则你可能需要手动去安装gcc和g++。

[koorey@maple ~]$yum install libX11-devel*
[koorey@maple ~]$yum install xorg-x11-proto-devel*
[koorey@maple ~]$yum install libXt-devel*
[koorey@maple ~]$yum install libXmu-devel*  #安装nam时会报错误X11/Xmu/WinUtil.h无法找到,因此需要执行这一步。

3、下载ns-allinone-2.34.tar.gz

[koorey@maple ~]$ su -               #切换到root用户下

[root@maple ~]# cd /usr/src/

[root@maple src]#  wget  http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.34/ns-allinone-2.34.tar.gz/download

[root@maple src]# tar -xzf ns-allinone-2.34.tar.gz

注意:安装xgraph时,需要将ns-allinone-2.34/xgraph-12.1/dialog.c 中的getline()接口改成getline2(),同时在该文件开始部分声明int getline2(char** lptx,char* txt);这样才可以保证xgraph才能正确安装。我不知道其他发行版下有没有这个问题,CentOS6.0下如果不做这样的改动xgraph是编译不通过的。考虑到getline是/usr/include/stdio.h中的系统头文件的缘故,我们最好不要对它做修改免得影响面向用户的API编程接口。因此,我们修改diaglog.c中的getline(),将它定义为我们自己的一个内部接口。

[root@maple src]#  cd ns-allinone-2.34/    #进入ns2源码目录

[root@maple ns-allinone-2.34]#  ./install       #只需这么简单一步就OK然后等待如下信息出现:

CentOS6.0 内核版本:2.6.32-71.el6.i686

Ns-allinone package has been installed successfully.
Here are the installation places:  (这是我加的说明:正确安装后,下面8个功能子模块就都会出现的。。。O(∩_∩)O~)
tcl8.4.18:      /usr/src/ns-allinone-2.34/{bin,include,lib}
tk8.4.18:               /usr/src/ns-allinone-2.34/{bin,include,lib}
otcl:           /usr/src/ns-allinone-2.34/otcl-1.13
tclcl:          /usr/src/ns-allinone-2.34/tclcl-1.19
ns:             /usr/src/ns-allinone-2.34/ns-2.34/ns
nam:    /usr/src/ns-allinone-2.34/nam-1.14/nam
xgraph: /usr/src/ns-allinone-2.34/xgraph-12.1/xgraph
gt-itm:   /usr/src/ns-allinone-2.34/itm, edriver, sgb2alt, sgb2ns, sgb2comns, sgb2hierns

----------------------------------------------------------------------------------

Please put /usr/src/ns-allinone-2.34/bin:/usr/src/ns-allinone-2.34/tcl8.4.18/unix:/usr/src/ns-allinone-2.34/tk8.4.18/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.

IMPORTANT NOTICES:

(1) You MUST put /usr/src/ns-allinone-2.34/otcl-1.13, /usr/src/ns-allinone-2.34/lib,
    into your LD_LIBRARY_PATH environment variable.
    If it complains about X libraries, add path to your X libraries
    into LD_LIBRARY_PATH.
    If you are using csh, you can set it like:
                setenv LD_LIBRARY_PATH <paths>
    If you are using sh, you can set it like:
                export LD_LIBRARY_PATH=<paths>

(2) You MUST put /usr/src/ns-allinone-2.34/tcl8.4.18/library into your TCL_LIBRARY environmental
    variable. Otherwise ns/nam will complain during startup.

After these steps, you can now run the ns validation suite with
cd ns-2.34; ./validate

For trouble shooting, please first read ns problems page
http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive
for related posts.

4、(!!!注意上述安装过程最后结尾处红色的提示信息!!!!)

网上很多教程都说,将上面提及的几个环境变量加入到/home/username/.bashrc文件中,这样做确实也没一点问题。可问题是如果你是系统管理,搭好的环境要给研究所或全公司所有的同事使用的话,将上述三个环境变量添加到/etc/profile文件中不失为一种很简便省事的方法。

上面的./validate其实完全没有必要执行(个人觉得,执行时间又长,而且也没啥意义,我们要相信自己^_^~~~)。

5、切换到ns-allinone-2.34/ns-2.34/tcl/ex目录下,然后执行:

[root@maple ex]# ns simple.tcl
怎么样,久违的nam界面跃然眼前吧

The end!

转载于:https://www.cnblogs.com/masterpanda/archive/2011/11/17/5700522.html

一步一步教你在CentOS6.0下安装NS2(ns-allinone-2.34.tar.gz)模拟仿真工具相关推荐

  1. Linux(centos6.0)下安装Node.js以及使用

    Linux下(centos6.0)安装Node.js 1.wget http://nodejs.org/dist/node-v0.6.9.tar.gz     tar  zxvf node-v0.6. ...

  2. CentOS-6.0下安装配置Cacti

    来自http://os.51cto.com/art/201104/252883.htm 内容基本上一样,主要是想记录下自己在安装的过程中遇到的一些问题和一些与原文有出入的地方,方便以后安装. 1.首先 ...

  3. 在CentOS6.2下安装DNS服务软件Bind并快速配置简单实例

    [实践Ok]在CentOS6.2下安装DNS并快速配置实例,共八步,心路历程如下: 背景介绍: 在日常的开发中,往往会在测试机和外网的Http的Url实际接口是不一样的,在测试机一个Url地址,在外网 ...

  4. linux 6.3 ftp安装,CentOS6.3下安装VSFTP服务

    centos下安装ftp服务器详细步骤: 第一步,检查服务器端是否已经安装ftp:[root@localhost centos]# rpm -q vsftpd 如果出现的是:[root@localho ...

  5. 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...

  6. linux 6.8 dns,CentOS6.8下安装DNS服务器

    CentOS6.8下安装DNS服务器 1.安装DNS服务器组件 安装bind # yum install bind bind-libs bind-utils bind-chroot 2.修改主配置文件 ...

  7. linux6.5下安装oracle 11,centos6.5下安装oracle11g

    centos6.5下安装oracle11g 一.检测并安装Linux的图形界面,这里安装的KDE环境桌面 检测是否已经安装图形界面:命令yum grouplist (该命令输出很长),在命令执行后的输 ...

  8. CentOS6.8下安装JDK1.8

    文章目录 1.安装环境 2.前置条件 3.安装JDK 4.修改环境变量 5.测试是否安装成功 本文主要记录的是如何在CentOS6.8环境下安装JDK1.8的,主要记录一下学习的过程,便于日后快速使用 ...

  9. Centos6.5下安装java1.7+apache-tomcat7.5

    CentOS6.5菜鸟之旅:安装SUN JDK1.7和Tomcat7 一.前言   CentOS6.5系统自带Open JDK1.7.1.6和1.5,但OpenJDK部分内容与SUN JDK不兼容,因 ...

最新文章

  1. 牛妹吃豆子(二维前缀和模板,修改+求和)
  2. eeglab教程系列(7)-数据叠加平均{1}(Data averaging)
  3. twisted Unhandled error in Deferred scrapy
  4. 628. Maximum Product of Three Numbers
  5. 为什么全局变量不好?[翻译]
  6. linux下修改主机名
  7. 7805输入电流有要求吗_PLC输入输出接线全解析,值得收藏!
  8. react 开发知识准备
  9. OSGi简介–模块化Java
  10. linux 6.4 能挂载最大多大硬盘,CentOS6.4的ext4文件系统如何实现挂载大于16TB的磁盘分区...
  11. Hibernate的事务管理
  12. 基于3D人像复原技术的试衣平台
  13. JXLS (Excel 导出工具使用)
  14. 个人信息安全规范----8、组织的个人信息安全管理要求
  15. 许晓斌_Maven实战(二)——POM重构之增还是删
  16. 分式智能计算机在线计算,全能智能计算器
  17. 2007高考作文北京卷(II)
  18. 一元线性回归模型系数、方差估计、检验回归效果显著性,b的置信区间,Y约为X的指数函数时,求Y关于x的回归方程
  19. 延禧攻略邀您领取66
  20. moses 编译_手把手教你编译MOSES机器翻译系统 | 学步园

热门文章

  1. boost 获取时间
  2. QT5日志功能(qDebug、qWarnng、qCritical、qFatal)
  3. 4.c++模式设计-建造者模式
  4. 截取年月日在hana中怎么写_获取Sting类型格式-日期中的年月日
  5. 【CCS】CCS全局搜索
  6. 【蓝桥杯嵌入式】【STM32】1_LED之点灯仪式
  7. RTP/RTCP中的Jitter
  8. 编程函数c语言,C语言编程(练习1:函数 )
  9. c语言调用子程序,哪位师傅知道51单片机怎样编写子程序?C语言的。在主程序里调...
  10. vue 实现无限轮播_Vue 实现无缝轮播