Win8.1/Win7+Cygwin+Ns2.35 完全安裝指南---教你如何安裝NS2

大小可樂發表於2014-08-19
更新:最近嘗試在64位WIN8.1上安裝NS2.35,可以用一下方法和軟體順利安裝,不需要安裝64位cygwin。

多年沒用NS2這個軟體,最近需要跑一些資料,重新上手安裝,發現隨著作業系統和軟體的不斷升級,原來的一些安裝方法都不行,通過多次嘗試,終於順利安裝。現將流程歸納如下:

     安裝環境:win7 32位   cygwin2.844   ns2.35
     軟體下載:首先我推薦在32位系統上安裝NS2,在64位安裝過程中經常出現一些問題,不知道是否是兼                   容性問題 ,反正沒有32位安裝順利。cygwin版本不一樣,支援的作業系統也不同,我採用                   最新版本的cygwin,官方下載地址為:http://cygwin.com/install.html 。記住,32位系                   統要下載32位安裝程式:setup-x86.exe。ns2我採用2.35版本,官方下載地址                               為:http://www.isi.edu/nsnam/dist/  。自行下載完成後等待安裝。

安裝過程:

1.如果你沒裝過cygwin的話,可以忽略這一步,如果裝過,請清理乾淨cygwin,包括檔案和登錄檔。
2.點選剛才下載的cygwin安裝程式:setup-x86.exe,進行安裝cygwin:

安裝截圖:












    選擇163映象,速度還是可以的,想當年沒有國內映象,從國外網路上下載這是慢啊。



    到了cygwin安裝的最關鍵一步,選擇需要安裝的包元件,如上圖所示,現選擇可視模式為:full。然後把最下角的隱藏過期包元件那個勾去掉,因為NS2用的包元件大部分都是過期的,所以一定要執行這一步才能找到所有需要的安裝包。
    根據官網介紹,需要安裝的包元件為下列包:
    gcc       gcc-g++       gcc4       gcc4-g++   
    gawk      gnuplot       gzip        make   
    patch      perl          tar         win32api      diffutils
    X-startup-scripts   xorg-x11-base   xorg-x11-bin   xorg-x11-devel   xorg-x11-bin-dlls   
    xorg-x11-bin-lndir xorg-x11-etc   xorg-x11-fenc   xorg-x11-fnts   xorg-x11-libs-data   
    xorg-x11-xwin   libxt-devel   libXmu-devel

    我這邊就介紹一種包元件(win32api)的安裝:如下圖所示,通過search選項查詢win32,就可以顯示出所以相關元件包,然後點選元件包Skip選項,就可以顯示新的版本號,這樣就表示選定安裝。根據上述方法將上述包都查詢出,最後在確認下這些包狀態不是Skip即可。(漏掉包安裝,後續安裝NS2之前系統會進行自檢,不能通過自檢的。)





3. 安裝完cygwin後,執行程式,你將在C:\cygwin\home\你的使用者名稱\   資料夾下面看到三個BASH檔案,這三個檔案時cygwin執行的配置檔案,後面需要修改,注意,一定要看到這三個檔案才能表示你cygwin安裝成功。


4. 將下載的NS2安裝包:ns-allinone-2.35.tar.gz拷貝到C:\cygwin\home\你的使用者名稱\ 資料夾下,也就是跟那三個BASH檔案放一起。執行cygwin,cygwin執行後預設的路徑是:C:\cygwin\home\你的使用者名稱\ 。 你可直接執行解壓縮命令:
                  tar xfzv ns-allinone-2.35.tar.gz


5. 解壓縮完後,cygwin在C:\cygwin\home\你的使用者名稱\  路徑下產生了一個新的資料夾,你必須使用以下命令安裝NS2:
                  cd ns-allinone-2.35  (進入解壓縮後的資料夾)
                   ./install           (安裝指令,現在不執行,等待下面修改好才安裝)


6.在執行安裝指令之前,必須修改一個程式碼行,不知道是這個版本的NS2和cygwin相容性問題,還是系統問題,直接安裝時到編譯ls.o時會發現錯誤,然後跳出安裝。所以之前必須修改程式碼:
    
修改ls檔案:
 進入C:\cygwin\home\你的使用者名稱\ns-allinone-2.35\ns-2.35\linkstate\ls.h 第137
  void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
 改為:
  void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

 上圖藍色部分代表需要新增的程式碼,儲存後,然後再執行指令: ./install


7.系統自動安裝NS2,中間會跳出各種提示,直接無視。等待一段時間,根據機子配置的不同時間可能不一樣,大概要大於半個小時左右。cygwin提示安裝成功。


6. 安裝成功後執行最後一步,設定環境變數,開啟C:\cygwin\home\你的使用者名稱\ 資料夾下的.bashirc檔案,記住,不要用記事本等自帶軟體開啟該檔案,需要用UE等軟體開啟,不然執行時會出現“-bash: $'\r': command not found”等提示,雖然不影響執行,但是看起來很不舒服。將以下內容複製到檔案的末尾:

PATH="$PATH:/home/你的使用者名稱/ns-allinone-2.35/bin:/home/你的使用者名稱/ns-allinone-2.35/tcl8.5.10/unix:/home/你的使用者名稱/ns-allinone-2.35/tk8.5.10/unix"
LD_LIBRARY_PATH="/home/你的使用者名稱/ns-allinone-2.35/otcl-1.14, /home/你的使用者名稱/ns-allinone-2.35/lib"
TCL_LIBRARY="$TCL_LIBRARY:/home/你的使用者名稱/ns-allinone-2.35/tcl8.5.10/library"

   儲存後,記住cygwin必須重啟,這樣才能應用最新的環境變數配置!!


6. 驗證環境變數是否正確,使用以下命令:



當你輸入ns後,符號從$變成%,那就代表環境變數配置成功。

7. 執行例子驗證NS安裝成功:進入NS自帶例子目錄,如下:




執行ns simple.tcl後,顯示執行結果,代表ns2安裝成功。
至於nam執行提示沒有配置成功,這不是環境變數配置問題,因為nam需要在Xwin Server裡面執行才行。
所以以後執行NS2指令碼時可以再Xwin Server視窗執行。

8:開啟Xwin Server(開始選單裡cygwinX裡面就有這個選項),在視窗輸入以下命令,可以驗證NS和nam命令是否可用:
     cd ns-allinone-2.35/ns-2.35/tcl/ex
     ns simple.tcl
   執行結果圖如下:



9.到此,所有安裝過程結束,你可以自由地在NS2上面跑程式和專案了。

最後,再次宣告:本教程僅限於win7 32位,NS2.35版本,其他版本和系統安裝不一定適用,請慎重參考。

相關文章