歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> NS2.33在Ubuntu 12.10的完整安裝過程及相關問題

NS2.33在Ubuntu 12.10的完整安裝過程及相關問題

日期:2017/2/28 14:49:15   编辑:Linux教程

准備工作:Ubuntu 12.10已經成功安裝+下載NS2安裝文件,我這裡是ns-allinone-2.33.tar,另外准備兩個補丁:tk-8.4-lastevent.patchtk-8.4.18-tkBind.patch

tk-8.4-lastevent.patch和tk-8.4.18-tkBind.patch下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2013年資料/5月/9日/NS2.33在Ubuntu12.10的完整安裝過程及相關問題

或者

百度雲盤下載:http://pan.baidu.com/share/link?shareid=552203&uk=487907638

相關閱讀:Ubuntu 11.10下安裝NS2.35 http://www.linuxidc.com/Linux/2012-03/55990.htm

第一步:將ns2的壓縮包ns-allinone-2.33.tar.gz拷貝到桌面,右鍵解壓到桌面,將解壓後的文件夾復制到准備安裝的位置,

例如我的件夾home/wl(wl是登錄用戶名)下新建文件夾program,將ns2的文件夾粘帖到home/wl/program下。

第二步:在root的用戶名下或admin用戶下,下載並安裝ns-2.33安裝時需要的系統包,具體如下:

首先,在終端裡輸入apt-get install build-essential 進行下載安裝,這一步是為了gcc and some essential 的安裝;

接著,在終端裡輸入apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev 進行下載安裝,這一步是為了tcl and tk 的安裝;

最後,在終端裡輸入apt-get install libxmu-dev 進行下載安裝,這一步是為了nam的安裝。

第三步:檢查gcc版本,現在系統自動安裝的版本一般高於4.0,但是安裝之前仍有必要檢查下,終端命令如下:

終端執行ls /usr/bin/gcc –l或者gcc --rsion或者gcc -v都可以,我的是gcc4.7.2

因為gcc 4.0版本以前是用ld -share來生成共享庫的,但是到了4.0以上的版本,這個命令改為了gcc -share。

所以,若版本高於gcc4.0則需要做如下更改:

 cd /home/liu/Program/ns-allinone-2.33//otcl-1.13
do gedit configure.in

將77行,SHLIB_LD="ld -shared" 改為SHLIB_LD="gcc -shared"保存,退出

同時修改configure 第5518行SHLIB_LD="ld -shared"改為SHLIB_LD="gcc -shared"保存退出。

上述修改是終端命令的形式,也可以在視圖下直接打開,前提是開放文件的“read and write"權限。

第四步:由於我的是安裝的ns2.33,據說存在一些問題,所以提前進行了測試並安裝了補丁,具體步驟如下:

(1)運行自帶的實例進行測試: /ns-allinone-2.33/ns-2.33/tcl/ex/simple.tcl
可能的問題:
系統提示如下,
[code omitted because of length]

: no event type or button # or keysym
while executing
"bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
invoked from within
"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."

原因:據說是ns2.33,它的nam調用的tk組件和xproto-7.0.13 不兼容導致的(xproto-7.0.13 新添加了 GenericEvent),所以在安裝ns2之前要先打上補丁。如果不打上補丁的話,後面調用nam時會報錯。

解決方法為:

(1)打上准備的補丁tk-8.4-lastevent.patch

把這個文件移動至ns目錄下tk8.4.18下

$ cd/home/liu/Program/ns-allinone-2.33/tk8.4.18

$ patch –p1<tk-8.4-lastevent.patch

(2)打上准備的補丁tk-8.4.18-tkBind.patch
將文件tk-8.4.18-tkBind.patch移至ns-allinone-2.33目錄下,並運行如下命令:
$patch -p0 <tk-8.4.18-tkBind.patch

Copyright © Linux教程網 All Rights Reserved