Ubuntu16.04安裝ns-allinone-2.35

前言:

雖然ns3已經出來好多年了,但是鑑於ns2的資料相對多些,目前大多數論文中用的仿真器還是ns2比較多。今年Ubuntu已經更新到了16.04或者16.10,網上的一些教程略微需要改動,鑑於此,總結了下面的安裝步驟,其中會提到運行中常出現的問題以及解決方法。參考的博客網址有:

Ubuntu 15.10安裝ns2.35+nam 
SUMO仿真快速入門系列四:Ubuntu 12.04 安裝ns2.35


步驟一:更新一下系統的安裝包,

這個有的時候很有必要,Ubuntu的源有時會莫名其妙的不能用了

sudo apt-get update #更新源列表 
sudo apt-get upgrade #更新已經安裝的包 
sudo apt-get dist-upgrade #更新軟件,升級系統


步驟二:安裝ns2運行時需要的三個依賴包

sudo apt-get install build-essential

sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev #for tcl and tk 
個人說明一下:安裝這個依賴包後,在以後調試涉及./configure時會提示找不到tcl的路徑,解決方法是 ./configure –with-tcl-ver=8.5

sudo apt-get install libxmu-dev libxmu-headers #for nam


步驟三:下載安裝包並編譯安裝

ns2.35官網下載地址

建議下載後直接放在目錄/home/用戶名/,若是放在其他比如usr/等下面,必須切換root賬號才能進行操作,編輯時會出現各種頭疼的操作

tar xvfz ns-allinone-2.35.tar.gz #這個可以圖形化操作 
cd ns-allinone-2.35 #這個可以圖形化操作 
./install #進行安裝

第一次安裝報錯: 
linkstate/ls.h:137:20: note: use ‘this->erase’ instead 
make: * [linkstate/ls.o] Error 1 
Ns make failed!

修改ls文件,位置是:ns-2.35/linkstate/ls.h 
第137行 
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

改爲:void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

保存後,重新然後執行 ./install #重新安裝順利完成

這是因爲ubuntu16.04的gcc編譯版本太高,而ns2.35是2011年發佈的,當時ubuntu的gcc版本比較低的,需要注意的是gcc4.4版本後,有些格式不能向下兼容,好吧,這個問題很是頭疼,最笨也是最直接的方法就是直接改動源碼,把出現問題的代碼部分改成能被高版本gcc編譯的格式,如上所示:


步驟四:配置環境變量

修改當前用戶環境變量(對應的文件爲’/home/用戶名’中的.bashrc,並非’/ns-allinone-2.35’底下的空白.bashrc)

gedit ~/.bashrc

直接在文檔的最後面加上以下環境變量(把用戶名改成你的就行):
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/unixexport LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library

步驟五:驗證ns是否安裝成功

關閉終端,重啓終端,輸入ns,出現%,說明ns2安裝成功

注意:環境變量配錯的話,會提示“程序“ns”尚未安裝。 此時請勿使用以下命令安裝: 
sudo apt-get install ns2 
應該繼續在步驟4中修改環境變量!


步驟六:測試ns並驗證nam是否安裝成功

測試

cd ns-allinone-2.35/ns-2.35/tcl/ex/ 
ns simple.tcl

倘若彈出動畫演示框,則證明ns完全安裝正確,下面的問題也不需要看了,至此結束。

倘若提示nam沒有安裝(Ubutnu16.04沒有出現這個問題) 
進入nam目錄:cd ns-allinone-2.35/nam-1.15 
進入後 ./configure –with-tcl-ver=8.5 
然後 make 
最後 make install

命令行輸入nam彈出nam console說明nam安裝成功。

注意:如果通過“sudo apt-get install nam”安裝的nam,執行nam命令會報異常 
“段錯誤,核心文件已轉儲” 
遇到該問題的網友可以“sudo apt-get remove –purge nam”卸載nam及其配置後按Step6安裝。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章