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源碼安裝成功!!!

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