因为ns2的资料相对较多,目前使用较多的版本为2011年的ns-allinone-2.35。
官方下载 https://www.isi.edu/nsnam/ns/ns-build.html
- most recent release (ns-2.35 released Nov 4 2011)
- daily snapshot,
- anonymous cvs (module "ns-2").
步骤一:更新系统的安装包
1.sudo apt-get update #更新源列表(不要改动sources.list文件)
2.sudo apt-get upgrade #更新已经安装的包
3.sudo apt-get dist-upgrade #更新软件,升级系统
步骤二:安装NS2运行时需要的三个依赖包
1.sudo apt-get install build-essential #(不要更改最初sources.list的源地址)
2.sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev #(注意版本)
安装这个依赖包后,在以后调试涉及./configure时会提示找不到tcl的路径,解决方法是 ./configure –with-tcl-ver=8.5
3.sudo apt-get install libxmu-dev libxmu-headers #for nam
步骤三:降级最新版本的Ubuntu中gcc/g++的版本(一定要到/usr/bin目录下完成)
可以通过gcc -v或g++ -v来查看当前的版本。最初系统版本为gcc-7,这里我们把它降低到gcc-4.8
1.sudo apt-get install gcc-4.8
2.sudo apt-get install g++-4.8
安装完毕之后在/usr/bin目录下输入
3.ls -l gcc* #可以查看到当前的gcc链接(第一行位置),可以发现版本较高,于是我们需要修改为较低的
4.sudo mv gcc gcc.bak
5.sudo ln -s gcc-4.8 gcc
修改完gcc接着修改g++
6. ls -l gcc* #同样可以查看到当前的g++链接是较高版本,需要将其改为较低的
7.sudo mv g++ g++.bak
8.sudo ln -s g++-4.8 g++
上面完毕之后再查看gcc和g++版本号:
10.gcc -v&&g++ -v #可以看到gcc version 4.8.5
步骤四:将文件放在/home/(自己设置的用户名)/ 也就是直接点开home的那个文件夹,最好别放其他文件夹
1.tar xvfz ns-allinone-2.35.tar.gz #可以直接鼠标右键解压当前目录
2.cd ns-allinone-2.35 #打开解压后文件夹
步骤五:上面的ns-allinone-2.35中通过路径找到 ns-2.35/linkstate/ls.h 这个文件并以编辑文本的方式打开
1. 第137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为:void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
保存(:wq)后退出
2 . ./install #进行安装
步骤六:配置环境变量
1. gedit ~/.bashrc #虚拟机中可以直接从下面复制粘贴进去
2. 环境变量方案一: export NS_HOME=/home/用户名/ns-allinone-2.35
export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix
export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib
export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library
环境变量方案二: export NS_HOME=/home/用户名/ns-allinone-2.35
export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NS_HOME/otcl-1.14:$NS_HOME/lib
export TCL_LIBRARY=$TCL_LIBRARY:$NS_HOME/tcl8.5.10/library
步骤七:打开一个新的终端输入
1. cd ns-allinone-2.35/ns-2.35/tcl/ex/
2. ns simple.tcl
倘若弹出动画演示框,则证明ns完全安装正确,否则需要换一个环境变量进行尝试。
步骤八:(此步骤针对安装失败情况)
1. gedit ~/.bashrc #换一个环境变量方案,重复上面步骤
2. cd ns-allinone-2.35/nam-1.15 #进入nam目录
3. ./configure --with-tcl-ver=8.5 #重新配置
4. sudo make #重新编译源码
5. sudo make install #重新安装
命令行输入nam弹出nam console说明nam安装成功。
步骤九: 重复步骤七即可
其他注意点:不要使用sudo apt-get install ns2
不要使用sudo apt-get install nam
网友路过注意:现在CSDN灌水文章的东西比较厉害,大家没做实验不要灌水发文也不要关键细节不写,不然会浪费自己和别人时间