筆者剛剛接觸ns2,項目需要。在這里記錄下操作過程,希望對您有所幫助。
網上ns2安裝的教程有很多,很雜,有的有些復雜。嘗試了一些比較繁瑣又沒有產生好結果的辦法后,找到了一個相對簡單的辦法。我的系統是ubuntu17.04
安裝過程:
主要參考的安裝過程:http://www.linuxidc.com/Linux/2013-11/93055.htm
1. 直接下載ns-allinone的壓縮包,這個是官網把需要的包整合到一起供安裝的。我下載的版本是2.35
2. 下載好后,我在home→syc里面建立了文件夾,ns-2,並把安裝包移動到里面,進入該文件夾,cd /home/usr/ns-2,解壓文件tar zxvf ns-allinone-2.35.tar.gz。
3. 解壓后進入解壓好的文件夾 cd ns-allinone-2.35
4. 運行安裝文件 ./install 接着就是等待。
5. 如果安裝完成,修改在根目錄下的系統路徑文件 gedit ~/.bashrc
在文件最低端加入:
export PATH="$PATH:/home/ns-2/ns-allinone-2.35/bin:/home/ns-2/ns-allinone-2.35/tcl8.5.10/unix:/home/ns-2/ns-allinone-2.35/tk8.5.10/unix"
export LD_LIBRARY_PATH="$LD_LIBRARY:/home/ns-2/ns-allinone-2.35/otcl-1.14:/home/ns-2/ns-allinone-2.35/lib"
export TCL_LIBRARY="$TCL_LIBRARY:/home/ns-2/ns-allinone-2.35/tcl8.5.10/library"
PATH=$PATH:$XGRAPH:$NS:$NAM
仔細看這里面就是我們之前安裝好的文件夾或文件,為了保證不出錯,大家可以進入相應的路徑看看有沒有對應的文件或文件夾。路徑一定要正確。
上面步驟完成后,保存,在終端中輸入下面代碼: source ~/.bashrc
檢測是否安裝成功:
在命令行輸入ns,如果顯示%,恭喜你~
exit推出當前指令。
接下來嘗試一下ns2自帶的例子。
在/ns-2.35/tcl/ex文件夾下,有個example.tcl腳本文件,
進入該文件夾路徑,命令行輸入 ns example.tcl。
遇到的部分問題:
1 首先就是在運行這個腳本文件時,可能會遇到
ns: finish: couldn't execute "nam": no such file or directory
是因為沒有安裝nam。
命令行輸入 sudo apt-get install libxmu-dev
sudo apt-get install nam
2 can't find X includes
sudo apt-get install libxt-dev此步驟做完后,重新./install
3 可能會遇到沒有安裝gcc的錯誤,錯誤代碼忘了。我在網上嘗試了很多需要安裝gcc的例子,很復雜,很容易出錯,后來發現,根本不用。就直接sudo apt-get install gcc就行。而且需要注意的是,ns2.35支持的gcc版本不是最新版,參考 https://askubuntu.com/questions/915969/ns-2-35-installation-in-ubuntu-16-04
命令行輸入sudo apt install g++-4.9
再在安裝目錄ns-allinone-2.35下運行export CC=gcc-4.9 CXX=g++-4.9 && ./install
4 關於安裝中的有些問題,也可參考這個文檔 https://wenku.baidu.com/view/42ced726ccbff121dd36836f.html
5 提示make:***[linkstate/ls.o] 錯誤1
修改文件:ns-2.35/linkstate/ls.h 第137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改為:
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
然后重新 ./install
