Ubuntu 13.10下安装ns-2.35及leach协议安装
powered by Hong Sheng , Jiangsu university ,Zhenjiang
583301743@
Tue Nov 25 , 2013
之所以选择基于linux的操作系统ubuntu来安装ns2,是因为我个人特别讨厌Microsoft 开发的基于windows的cygwin软件,此软件安装的时候不仅有各种错误,UI也不够友好。而,有关ubuntu的安装,大家可以自行baidu或google之。下面只讲解ns-2.35和leach协议的安装过程。
1. Ubuntu 13.10下ns-
2.35安装
step 1:下载ns2.35,/s/1h8rj0#dir/path=%2FNS解压,放在home/xx下,xx是你的用户名
step 2:更新源包,终端输入:sudo apt-get update
step 3:安装依赖包
sudo apt-get install tcl8.5-dev tk8.5-dev
sudo apt-get install build-essential autoconf automake
sudo apt-get install perl xgraph libxt-dev libx11-dev libxmu-dev
step 4:修改ns-allinone-2.35中ls.h文件的代码
将void eraseAll() { erase(baseMap::begin(), baseMap::end()); } 改为:
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
step 5:sudo ls /usr/bin/gcc* //查看系统已经安装的gcc版本。Ubuntu 13.10默认安装了gcc-4.8
//和gcc-4.8版本的,如果是其他版本的linux操作系统且没有安装
//高于4.0版本的gcc/g++。则需要手动安装gcc/g++-4.8 sudo apt-get install gcc-4.8 g++-4.8 // 对于Ubuntu 13.10,此项是非必须的
sudo export CC=gcc-4.8
sudo export CXX=g++-4.8
//CC和CXX是全局变量,用来指定make将会用哪个版本的gcc/g++编译器生成
//makefile文件。如果没有这一步,保证你会makefile失败!!!因为,在ns-2.35文件夹//下的makefile.in 中要求配置全局变量。
echo $CC
echo $CXX //查看全局变量导入成功了没有,如果成功,则执行
sudo ./install //开始进行安装,大概等5分钟左右。
.......
出现以下的内容,每个人的/home/xx/不同,我的用户名是nan,所以,显示了以下信息。
Ns-allinone package has been installed successfully.
Here are the installation places:
tcl8.5.10: /home/nan/ns-allinone-2.35/{bin,include,lib}
tk8.5.10: /home/nan/ns-allinone-2.35/{bin,include,lib}
otcl: /home/nan/ns-allinone-2.35/otcl-1.14
tclcl: /home/nan/ns-allinone-2.35/tclcl-1.20
ns: /home/nan/ns-allinone-2.35/ns-2.35/ns
nam:/home/nan/ns-allinone-2.35/nam-1.15/nam
xgraph: /home/nan/ns-allinone-2.35/xgraph-12.2
gt-itm: /home/nan/ns-allinone-2.35/itm, edriver, sgb2alt, sgb2ns, sgb2comns, sgb2hierns
Please put
/home/nan/ns-allinone-2.35/bin:/home/nan/ns-allinone-2.35/tcl8.5.10/unix:/home/nan/ns-allin one-2.35/tk8.5.10/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.
IMPORTANT NOTICES:
(1) You MUST put /home/nan/ns-allinone-2.35/otcl-1.14, /home/nan/ns-allinone-2.35/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PA TH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PA TH
If you are using sh, you can set it like:
export LD_LIBRARY_PA TH=
(2) You MUST put /home/nan/ns-allinone-2.35/tcl8.5.10/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.35; ./validate
step 6: 根据提示设置环境变量。
在Ubuntu 系统中有两种设置环境变量PA TH 的方法。第一种适用于为单一用户设置PATH,第二种是为全局设置PATH。
第一种方法:
在用户主目录下有一个.bashrc 文件,可以在此文件中加入PATH 的设置如下:export PATH=”$PATH:/your path1/:/your path2/…..”
注意:每一个path 之间要用“:“分隔,PA TH=之间不要有任何空格,否则会导入失败。
第二种方法:
在/etc/profile中增加。
PATH="$PATH:/ your path1"
export PATH
两者之间的区别在于,第一种方法只在当前用户下有效,而第二种方法对所有的用户都有效。两者是局部与全局的关系。执行
sudo gedit ~.bashrc //~等价于home/xx
本文根据环境变量设置的第一种方法,在.bashrc文件尾部加入相应的代码。如在我的机子上就是:
#PA TH
export
PATH="$PATH:/home/nan/ns-allinone-2.35/bin:/home/nan/ns-allinone-2.35/tcl8.5.10/unix:/h ome/nan/ns-allinone-2.35/tk8.5.10/unix"
#LD_LIBRARY_PATH
export