且知道如何解決希望能告訴我是哪個環節出了差錯。
這篇是依照我安裝的順序所寫的,以用來記錄自己在安裝過程中,
是否有哪個步驟是錯的,或者順序上有問題以致於造成NS-3無法順利運行的原因
因為是在Windows XP 之下進行安裝NS-3
所以,需要使用Unix-Like,而Cygwin正是Unix-Like,且可安裝在Windows XP
安裝方法是使用NS-3官方網站所提供的ns-3-tutorial.pdf來進行的
由於對於整個系統的運作模式並不是太清楚,只憑著教學裡面的順序來操作
教學文件裡是英文敘述,所以著實的有點頭大,但也不是全看不懂
只是看了後面忘了前面就有點囧了。
--
先說我第一次做錯的經歷,一開始要安裝就看到教學裡告訴我要用Mercurial版本管理工具
來下載NS-3,這時我還沒安裝Cygwin,所以也未想到前面有說要在Unix-Like底下做
上網稍微做了一下安裝Mercurial的功課之後就開始著手安裝了
所以就Mercurial網站上下載MSI封裝檔來下載
安裝過程無疑就是Next, Next, Finish,
然後還要安裝TortoiseHg,這個是由Tortoise為Mercurial所創建的視窗介面管理工具
下載TortoiseHg 2.1.3 with Mercurial 1.9.2 - x86 Windows這個版本
安裝過程一樣是Next和Finish
完成這階段後會看到右下角出現圖示如下
TortoiseHg Overlay Icon Server |
設定時必須設定 %HOME% 這個路徑,然後在 %HOME% 路徑下建立一個 Mercurial.ini 檔,
接著在 Mercurial.ini 檔中加入使用者資訊,以及像 Proxy 等資訊,
如此才能正常的使用 Mercurial。
在 Windows XP 當中設定 HOME 環境變數的方法,
是在「開始/控制台/系統/進階/環境變數」當中按下新增,如下圖所示。
設定環境變數 |
在上圖中,我們將 HOME 變數設定到 C:\HG\ 這個目錄中,
因此我們必須在電腦中建立此目錄,然後再於此目錄中建立一個名為 Mercurial.ini 的文字檔,
並加入設定內容,像是使用者資訊,以及像
Proxy 等資訊,以下是我的設定檔內容。
檔案:C:\HG\Mercurial.ini
[ui]
username = WCJuan CYCU
[http_proxy]
host = proxy.cycu.edu.tw:3128
由於我的學校具有 proxy 管制,因此一定要設定 http_proxy 的 host 資訊,
一般使用 ADSL 或無線網路者是不需要設定 http_proxy 的。
但是 ui (User Interface Control)
中的 username 則是一定要設定的,
否則將會在後續的
commit 或 clone 的動作中遭到失敗的命運。
然後使用命令提示字元開啟的畫面如下
看起來應該是有安裝成功
做的簡單的測試,測試是否能成功從Mercurial網站上取回一個名叫Hello的專案
成功取得Hello專案 |
接著因為記得之前看過NS-3使用的兩個語言,一個是Python另一個是C++
C++我有VS 2010了,所以來安裝Python
一樣到官網去下載,仍然是英文的,國際語言是無可避免的。
也稍微做了一點安裝Python的功課
然後下載3.2.1版的MSI封裝檔
一樣是Next和Finish
然後設定環境變數
Python設定環境變數 |
測試Python是否運作正常
有三種方式可以使用Python
分別是命令提示字元、Python(command line)和Python GUI IDE,全都可以正常啟用。
--
接著終於可以開始使用Merurial來下載NS-3了
鍵入
cd C:\HG\
mkdir repos
cd repos
hg clone http://code.nsnam.org/ns-3-allinone
cd ns-3-allinone
download.py
download的情形 |
在「Get PyBindGen」和「Get NSC」的部分有點問題
PyBindGen的部分,我的解讀是藉由網路下載的線路有問題,所以沒載到,
也因此這部分是可能無法使用的。
NSC的部分,這部份似乎是跟Mercurial有關,下載沒有問題,
但是xt_mark.h和xt_MARK.h產生碰撞,應該是有兩個一樣的檔案的問題,
不過打開C磁碟槽去資料夾底下看,並沒有發現兩個檔案,有點奇怪
一樣它告知我可能此項目無法正常使用。
我假設我已經在先前安裝了Mercurial和Python了,應該是沒問題才對。
於是我先不管這些訊息,鍵入
build.py --enable-examples --enable-tests
結果它跳出一個視窗要我選怎啟動的程式,然後我就知道這肯定是python沒安裝的問題
只是也在這時候我從另一個網站想起了它必須在Unix-Like的環境下使用,
如不想另外灌Linux系統的話,也可以使用VMware,這也是我後來選擇的方式之一。
另外還要提一下,文件裡面有提到羅技的產品可能會使Cygwin或MinGW當掉
須盡量避免掉。
因此,轉向下載Cygwin來使用。
--
安裝Cygwin(最新版1.7.9-1)一開始實在很囧,因為我用學校網路下載Cygwin的Package,
因為懶得一個一個挑,所以就選了全部來下載,結果竟然跑到99%的時候,
跳出「Download Incomplete,Try again?」 的訊息,且即使Try again結果還是一樣
簡直就是無窮迴圈了
猜測可能有被學校網路擋下來了,所以就用宿舍的網路來下載,很順利的完整載下來
然後再帶來LAB安裝,順利的完成Cygwin的安裝。
安裝的Packages |
Cygwin安裝完成 |
安裝過程中我有注意看到裡面有安裝Python和Mercurial的套件
所以我假設應該是能夠順利得到我所要的結果吧!
一樣重複剛剛用Hg下載的過程一樣
Cygwin 下載NS-3 |
結果似乎比剛剛更不妙,它告訴我Cygwin不支援PyBindGen和NSC!
這樣的結果雖然削減了我許多的戰力,但仍然不能灰心啊!
改從NS-3的網站上直接下載它的source檔來builld
我下載了ns-allinone-3.12.1這個版本
檢查相依的工具
./waf -d debug configure
Build
./waf
./waf |
這結果顯示,不支援!?
很是糟糕
然後試了
./test.py -c core
./waf --run hello-simulator
test |
第一行指令的部分和文件裡所描述的結果不同,怎麼會通通都是零?
而Hello專案結果則是正常。
這樣的安裝下來,花了我許多的時間,這樣的結果,我的猜測是,
只有部分是可運行的,但我所需要的部分看起來是沒有安裝成功,
一個無法確定是否可運行的物件,怎能確定之後的研究是否正確,
所以我覺得轉攻Linux來嘗試。
使用VitualBox來安裝。
沒有留言:
張貼留言