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

    技术2024-12-22  17

    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源码安装成功!!!

    Processed: 0.010, SQL: 9