2010年9月9日 星期四

在linux fc5下裝ns 2.29

.

Efficient Simulation of Large-Scale P2P Networks Packet-level vs. Flow-level Simulations
這篇paper的作者Kolja Eger用ns2寫了bittorrent的simulation,並open source

所以想要用ns2寫p2p simulation的人,這個東西會是個不錯的參考

原本bittorrentsim是放在作者學校的網站上:
http://www.tuhh.de/et6/research/bittorrentsim/

然而,Kolja Eger畢業了,網站被移除了
經詢問,Eger把code改放到他的google site
https://sites.google.com/site/koljaeger/bittorrent-simulation-in-ns-2

然而,他的bittorent code是以patch file release的,並且是給ns-2.29用的

為此,我必需裝一個ns-2.29來安裝他的bittorrentsim

然而,安裝ns-2.29的過程不那麼順利
make時會有一堆error,據悉是gcc改版,規則變嚴格的原因
(這個我有印象,有次gcc更新後,本來可以make的code會make過不了)

我特地找個比較久的linux virtualbox image:Fedora Core 5
沒想這個distribution的gcc還蠻新的:gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)
(其實我不確定是distribution本來的版本就這麼新,還是我以前有做過更新……)
所以make ns-2.29還是會有一堆error

要安裝ns-2.29時會出現一堆error,按照下列這個連結的方法就可以裝起ns-2.29
ns-2.29在Ubuntu8.04中的安装
基本上面文章的解法可行,按照他的方法,我把ns-2.29裝起來了

但是過程中會遇到另一個問題是文章中沒提到的,據說是bash 3.1.I的關係
error code如下:

checking system version (for dynamic loading)... ./configure: line 6017: syntax error near unexpected token `('


在ns-allinone-2.29的目錄下,複製下面這行:
for f in $(find -name configure); do sed "s/relid'/relid/" -i $f; done
貼上,執行,問題就解了
這個解法的原文出處:Compiling Network Simulator 2.29

到這裡,就裝好ns-2.29了
可以開始動手安裝bittorrentsim了


.

3 則留言:

Unknown 提到...

版主 您好:

我在ubuntu8.04底下安裝ns2-2.29
我有依照你所貼的參考連結"ns-2.29在Ubuntu8.04中的安装"去做修改,但是在底下的問題二,我不知道是要去ns-allinone-2.29底下修改哪個檔案,再麻煩版主跟我說一下,謝謝。

二、问题

checking system version (for dynamic loading)...
./configure: line 7624:syntax error near unexpected token `)'
./configure: line 7624: ` OSF*)'
tcl8.3.2 configuration failed! Exiting ...
Tcl is not part of the ns project.
解决办法:
在ns-allinone-x.xx目录下
$ grep 'system=MP-RAS-' ***/*/* -n
把那些文件里的
system=MP-RAS-`awk ' { print $3 } '/etc/.relid'`
改为:
system=MP-RAS-`awk ' { print $3 } '/etc/.relid`也就是那行多了一个'号

抗剪強度Zero 提到...

Dear 鴻斌,

grep是linux的指令,你需要查一下grep怎樣使用
當你輸入:grep 'system=MP-RAS-' ***/*/* -n後,所有有問題的檔案就會被找grep出來,並會顯示該行的行數
被grep找出的,你都需要改

抗剪強度Zero 提到...

另外,我發現你找錯文章了
你該參考是這篇:
http://gdemon.blogspot.com/2010/10/linux-mint-8-ubuntu-910ns-229.html

這篇中我詳述了在Linux mint 8 (Ubuntu 9.10)下安裝ns 2.29的過程
按照這篇操作,才不會出問題
因為問題不只一個