歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下安裝NS2.33(建議Fedora 8)

Linux下安裝NS2.33(建議Fedora 8)

日期:2017/2/28 15:47:21   编辑:Linux教程

NS2可以在很多Linux系統下安裝,不過安裝過程比較折騰,支持包很多要匹配,這裡介紹下我配置成功的版本。

操作系統建議是Fedora 8,其他的操作系統也可以就是,最好不要太新版本的,我也在Ubuntu 10.10上面配過,Ubuntu 10.10最好裝Server版本,都裝完最好,否則可能會出現問題,過程還是特別折騰的

這裡按照Fedora 8來配置,Ubuntu需要配置gcc4.1和g++4.1的,參考下我前篇寫的怎麼降級裝g++4.1的 http://www.linuxidc.com/Linux/2012-06/63759.htm

首先下載安裝NS2.33的

PS:還有個我基本配置好的版本,下載地址:

下載在Linux公社的1號FTP服務器裡,下載地址:

FTP地址:ftp://www.linuxidc.com

用戶名:www.linuxidc.com

密碼:www.muu.cc

在 2012年LinuxIDC.com\6月\Linux下安裝NS2.33(建議Fedora 8)

下載方法見 http://www.linuxidc.net/thread-1187-1-1.html

進入ns-allinone-2.33目錄

[www.linuxidc.cm @localhost share]$ cd ns-allinone-2.33/

一般是直接install就行了,如果不行的話就要慢慢排錯了(最好下載我配置好的,tcl-debug也包含進去了,要不然還要打patch,麻煩點)

PS:很多情況下會在後期出現nam調用不起來的問題,問題原因有點折騰,沒有bind上。。。具體也不用管,打兩個patch就行,fedora可以直接patch,ubuntu要apt-get下

patch到這https://bugs.gentoo.org/show_bug.cgi?id=225999下載,tk-8.4.18-tkBind.patch (414 bytes, patch) ,tk-8.4-lastevent.patch (843 bytes, text/plain),這兩個,建議直接下載,有人文本復制過來的雖然也行,不過有的復制過去包含網頁的格式之類的,折騰,還是直接下載好點,要不然可能會報684之類的錯誤

下載tk-8.4-lastevent.patch放到ns-allinone-2.33/tk8.4.18/裡面

然後patch –p1<tk-8.4-lastevent.patch,提示輸入時候輸入generic/tk.h

接著把tk-8.4.18-tkBind.patch放到ns-allinone-2.33/,然後patch -p0 <tk-8.4.18-tkBind.patch,這個不會提示輸入

NS2.33版本這樣打就行了,ns2.30我沒打成功,tk-8.4.13那個還要修改patch的內容,麻煩很多,所以用2.30的話不如換到2.33吧,除非對編譯比較熟的可以去自己改下

打完patch後

[www.linuxidc.cm @localhost ns-allinone-2.33]$ ./install

PS:這裡如果出現這樣的錯

ld: libotcl.so: hidden symbol `__stack_chk_fail_local' isn't defined
ld: final link failed: Nonrepresentable section on output
make: *** [libotcl.so] 錯誤 1
otcl-1.13 make failed! Exiting ...

解決辦法如下:
gcc 4.0版本以前是用ld -share來生成共享庫的,但是到了4.0以上的版本(我的為gcc version 4.4.1),這個命令改為了gcc -share即可。
cd ns-allinone-2.33/otcl-1.13
gedit configure.in
把77行處的
SHLIB_LD="ld -shared"
改為
SHLIB_LD="gcc -shared"
保存退出
然後
gedit configure
把5518行的
SHLIB_LD="ld -shared"
改為
SHLIB_LD="gcc -shared"
保存退出,
然後
cd ..


回到目錄ns-allinone-2.33下運行./install,如果install正確了,那麼就會出現


Please put /home/share/ns-allinone-2.33/bin:/home/share/ns-allinone-2.33/tcl8.4.18/unix:/home/share/ns-allinone-2.33/tk8.4.18/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.


IMPORTANT NOTICES:


(1) You MUST put /home/share/ns-allinone-2.33/otcl-1.13, /home/share/ns-allinone-2.33/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH <paths>
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=<paths>


(2) You MUST put /home/share/ns-allinone-2.33/tcl8.4.18/library into your TCL_LIBRARY environmental
variable. Otherwise ns/nam will complain during startup.




After these steps, you can now run the ns validation suite with
cd ns-2.33; ./validate


For trouble shooting, please first read ns problems page
http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive
for related posts.

這麼一長串的東西,這段話是提示你怎麼修改path等環境變量的,覺得麻煩的或者對linux不大熟的建議

在/home下面建立一個文件夾share

就是mkdir /home/share,然後把ns-allinone-2.33都放進去,然後path直接用以下設置,在/home下修改.bashrc(ps:這個改的安全點,etc下面的也行,不過改多了會亂)

改這個vi /home/www.linuxidc.cm /.bashrc

在末尾添加如下,保存就行了

# NS 2.33 config
export PATH="$PATH:/home/share/ns-allinone-2.33/bin:/home/share/ns-allinone-2.33/tcl8.4.18/unix:/home/share/ns-allinone-2.33/tk8.4.18/unix"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/share/ns-allinone-2.33/otcl-1.13:/home/share/ns-allinone-2.33/lib"
export TCL_LIBRARY="$TCL_LIBRARY:/home/share/ns-allinone-2.33/tcl8.4.18/library"


不是這個目錄的可以對應下面,應該能明白怎麼修改的吧


Please put /home/share/ns-allinone-2.33/bin:/home/share/ns-allinone-2.33/tcl8.4.18/unix:/home/share/ns-allinone-2.33/tk8.4.18/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.

對應修改Path

You MUST put /home/share/ns-allinone-2.33/otcl-1.13, /home/share/ns-allinone-2.33/lib,
into your LD_LIBRARY_PATH environment variable.

對應修改LD_LIBRARY

You MUST put /home/share/ns-allinone-2.33/tcl8.4.18/library into your TCL_LIBRARY environmental
variable. Otherwise ns/nam will complain during startup.

對應修改TCL_LIBRARY


現在可以大致測試下了,ns-allinone-2.33/ns-2.33目錄下運行

[root@localhost ns-2.33]# ./validate

不會出現could not found就是ok了

然後測試nam,

[root@localhost ns-2.33]# nam

會出現個圖形的框子就是可以的了,這樣ns2就基本配置好了

Copyright © Linux教程網 All Rights Reserved