ubuntu16.04下基于NS-2安装leach协议

ubuntu16.04下基于NS-2安装leach协议

环境平台:ubuntu16.04+NS-2+leach源码+beyond compare

先安装beyond compare软件,后面用得到,安装步骤:

wget http://www.scootersoftware.com/bcompare-4.2.10.23938_amd64.deb
sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi bcompare-4.2.10.23938_amd64.deb

安装成功后,在应用管理中搜索beyond打开即可

正式开始leach源码的安装!!!

在这里插入图片描述
一般在这里出的问题比较多,在这里用到了我们之前安装的beyond compare软件,需要对两个文件夹下的文件做比较。
在这里插入图片描述这是beyond软件打开后的效果,可以很清楚地看到两个文件中的代码差异,我们需要将leach源码里以#ifdef开头,#endif结尾的部分加到ns对应的文件中。中间的小箭头可以省粘贴复制的力气,但是谨慎使用,因为有时候可能没注意到复制过去多几行,少几行,容易造成后期make不成功,重新排错很痛苦。
在这里插入图片描述
5.添加环境变量

vim ~/.bashrc

在文件最下面加入

$NS_HOME=/home/joy/ns-allinone-2.35
export RCA_LIBRARY=$NS_HOME/ns-2.35/mit/rca
export uAMPS_LIBRARY=$NS_HOME/ns-2.35/mit/uAMPS

#此处$NS_HOME=/home/joy/ns-allinone-2.35,大家根据自己的更改

6.修改ns-2.35文件夹下的Makefile文件

vim Makefile

具体修改内容为:
point1:在第62行DEFINE最后添加-DMIT_uAMPS

DEFINE	= -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_14 -DHAVE_OTCL_H -DHAVE_LIBTK8_5 -DHAVE_TK_H -DHAVE_LIBTCL8_5 -DHAVE_TCLINT_H -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test -DMIT_uAMPS

point2:在第64行INCLUDES最后添加-I./mit/rca -I./mit/uAMPS
具体内容为:

-I./wpan \
-I./mit/rca -I./mit/uAMPS \

point3:在第233行gaf/gaf.o /这一行之前添加下列语句

mit/rca/energy.o mit/rca/rcagent.o /
mit/rca/rca-ll.o mit/rca/resource.o /
mac/mac-sensor-timers.o mac/mac-sensor.o mit/uAMPS/bsagent.o /

×××makefile文件中tab和空格不通用,因此point1、point2和point3处修改一定注意,不要使用空格,都使用tab键对齐。修改完后可以通过观察每行最后的\和/符号是否和其他代码颜色一样,不一样则说明有空格!!!!

7.在ns-2.35文件目录下输入命令,清除编译缓存

make clean

然后输入命令重新编译

make

在这里插入图片描述不报错,出现这个就是安装成功了。
×××make时很容易因为第三步文件更改发生错误而失败,这时候根据出错的提示信息,重新检查两个文件或者引用的更改的文件有没有多复制、少复制,然后进行相应的更改就好了。

8.修改test

#!/bin/bash
cd tcl/ex
ns wireless-demo-csci694.tcl
sleep 2
cd ../../
./leach_test

9.在ns-2.35文件夹下运行 ./test
在这里插入图片描述大家看到我的警告是比较多的,但是协议是可以正常运行的,可以参考如何去除警告消除警告,亲测有效。
注意:这样修改之后,要重新编译。即先执行make clean,再执行make。make成功后,再次运行./test,得到第一次的结果。
在这里插入图片描述最终就得到正解啦。

10.但是如果我们要检查是否有错误还是要根据/mit/leach_sims文件夹下的leach.err文件判断
在这里插入图片描述
如这样就是成功啦
至此,leach源码安装成功!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章