我選擇的版本是2.35最新版本,安裝環境是Ubuntu 14.04。
1.下載ns2的安裝包,這裡我選擇的是ns-allinone-2.35.tar.gz壓縮格式的all in one安裝包,all in one 安裝包包含所有的組件,比較方便,另附下載地址:
http://www.isi.edu/nsnam/ns/ns-build.html
2.安裝前環境配置,輸入如下代碼:
$sudo apt-get install build-essential $sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev $sduo apt-get install libxmu-dev libxmu-headers
3.ns2的解壓和安裝
首先把ns-allinone-2.35.tar.gz復制到home/xxx的文件夾下。xxx代表是你自己設置的ns2文件夾。然後進入終端,依次輸入
tar -xzvf ns-allinone-2.31.tar.gz cd ns-allinone-2.31 ./install
不出意外的話,這一部分肯定是要出現各種各樣的問題的,比如我出現的問題是:
linkstate/ls.h:137:58: note: declarations in dependent base ‘std::map<int, LsIdSeq, std::less<int>, std::allocator<std::pair<const int, LsIdSeq>>>’ are not found by unqualified lookup linkstate/ls.h:137:58: note: use ‘this->erase’ instead make: *** [linkstate/ls.o] Error 1 Ns make failed!
這個很簡單,只要編輯ns-2.35/linkstate/ls.h,即
gedit ns-2.35/linkstate/ls.h
將第137行的代碼由
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改為
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
也就是把erase用this->erase替換掉就好了。
再次執行./install就可以安裝成功了。
Tips: 由於每個人的機器環境條件不一樣,出現的錯誤也不一樣,所以有可能遇見各種各樣的問題。這裡建議大家講bug代碼粘貼到google中去搜索,一般都可以解決的。 重要的事情說三遍: 一定要用google! 一定要用google! 一定要用google!
4.配置環境變量
如果安裝成功,終端會提示配置環境變量,包括PATH,LD_LIBRARY_PATH,TCL_LIBRARY三種環境變量。
重新打開一個終端,輸入:
sudo gedit .bashrc
在文件最後添加如下代碼:
export PATH=$PATH:/home/xxx/ns-allinone-2.31/bin:/home/xxx/ns-allinone-2.31/tcl8.4.14/unix:/home/xxx/ns-allinone-2.31/tk8.4.14/unix export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/ns-allinone-2.31/otcl-1.13:/home/xxx/ns-allinone-2.31/lib export TCL_LIBRARY=$TCL_LIBRARY:/home/xxx/ns-allinone-2.31/tcl8.4.14/library
//注意兩個環境變量路徑之間要用冒號:隔開
然後運行:
source .bashrc
就完成了環境變量的配置。
5.安裝完成的驗證
重新打開一個終端,輸入:
ns
如果出現%就證明ns2已經安裝成功了。
如果沒有出現%,可以重新在終端輸入:
source .bashrc
ns
這時候應該就完美的出現了%,證明ns2應經安裝好了。
6.實例example
在終端輸入:
cd ns-allinone-2.31/ns-2.31/tcl/ex ns example.tcl
如果出現了數據,證明ns2運行正常。
再輸入
ns simple.tcl
如果出現nam的控制窗口和幫助屏,則表示nam安裝成功。可以在nam控制窗口進行動畫演示。自此,ns2.35完全安裝成功。
Ubuntu 13.04 安裝ns2.35 http://www.linuxidc.com/Linux/2014-03/98266.htm
更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2