我这篇日志记录的是网络仿真软件
NS-2
的安装全过程。
因为
NS-2
必须安装在Linux平台上,而我又不想装双系统(切换不便)或用Cgwin模拟(效率低下),所以我的安装步骤是:
1
.
在XP上安装虚拟机
VMware
。
2
.
在虚拟机上安装
Linux
系统,我用的是
Ubuntu
9
.
10。
3
.
在
Ubuntu
9
.
10上安装
NS-2
。
4
.
最后测试一下例子程序,运行正常说明安装成功。
前两步先省了
1.
Ubuntu9.10
安装
Vmware-Tools6.03
[root@rd01 ~]# cd /cdrom
[root@rd01 ~]# ls -a
[root@rd01 ~]# cp VMwareTools-5.5.1-19175.tar.gz /tmp
[root@rd01 ~]# cd /tmp
[root@rd01 ~]# tar zxpf VMwareTools-5.5.1-19175.tar.gz
[root@rd01 ~]# cd vmware-tools-distrib
[root@rd01 vmware-tools-distrib]# ./vmware-install.pl
[root@rd01 ~]# ls -a
[root@rd01 ~]# cp VMwareTools-5.5.1-19175.tar.gz /tmp
[root@rd01 ~]# cd /tmp
[root@rd01 ~]# tar zxpf VMwareTools-5.5.1-19175.tar.gz
[root@rd01 ~]# cd vmware-tools-distrib
[root@rd01 vmware-tools-distrib]# ./vmware-install.pl
[root@rd01 vmware-tools-distrib]#
sudo ./vmware-install.pl
一路ENTER及默认值
Enjoy,
--the VMware team
[root@rd01 vmware-tools-distrib]# shutdown -r now
# 修改完成之后, 重新启动计算机,让Ubuntu VMware Tools 生效.
--the VMware team
[root@rd01 vmware-tools-distrib]# shutdown -r now
# 修改完成之后, 重新启动计算机,让Ubuntu VMware Tools 生效.
2.
Ubuntu9.10
安装
NS-2.34
|
# sudo apt-get install build-essential
# sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
# sudo apt-get install libxmu-dev libxmu-headers
# sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
# sudo apt-get install libxmu-dev libxmu-headers
那先下载
NS2
软件吧,(
http://jaist.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.34.tar.gz
)最新版是
2.34
。
Linux公社
建议:可以把解压缩后的资料夹,移动到你想安装的位置去。例如:
# tar xvfz ns-allinone-2.34.tar.gz
# sudo cd ns-allinone-2.31
# ./install
# sudo cd ns-allinone-2.31
# ./install
经过一些时间的等待,就会看到他显示一串要你修改
.bashrc
或
.cshrc
的讯息,依照提示信息加入。
例如我的
.cshrc
就动到或加上这几行:
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin
$HOME/bin /usr/local/NS2/bin /usr/local/NS2/tcl8.4.14/unix /usr/local/NS2/tk8.4.14/unix)
$HOME/bin /usr/local/NS2/bin /usr/local/NS2/tcl8.4.14/unix /usr/local/NS2/tk8.4.14/unix)
setenv LD_LIBRARY_PATH /usr/local/NS2/otcl-1.13:/usr/local/NS2/lib
setenv TCL_LIBRARY /usr/local/NS2/tcl8.4.14/library
setenv TCL_LIBRARY /usr/local/NS2/tcl8.4.14/library
如果是
.bashrc
的话就会是:
export PATH=$PATH:/usr/local/NS2/bin:/usr/local/NS2/tcl8.4.14/unix:/usr/local/NS2/tk8.4.14/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/NS2/otcl-1.13:/usr/local/NS2/lib
export TCL_LIBRARY=$TCL_LIBRARY:/usr/local/NS2/tcl8.4.14/library
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/NS2/otcl-1.13:/usr/local/NS2/lib
export TCL_LIBRARY=$TCL_LIBRARY:/usr/local/NS2/tcl8.4.14/library
接着,依照最后几行的讯息,去做验证,例如:
# cd ns-2.31; ./validate
等他跑完,就可以工作了(不用做这步太慢了)。
当
ns
回车出现
%
说明正确。
有问题的话在以上工作完成后再
./install
一次。
ubuntu
下面安装ns2
作者:ahmao 提交日期:2006-7-19 6:00:00 | 分类:计算机系统 | 访问量:1051
先安装ubuntu,很简单,用install CD按照提示一步一步安装就可以了。由于是基本安装,安装ubuntu完成以后,连make和gcc都没有,这个时候可以运行如下命令:
sudo apt-get install build-essential,就可以装上gcc和make了。
然后就可以用ns2-allinone安装包安装了。
安装allinone的时候,如果在安装tcl和tk的时候有问题,可以用以下命令:
sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
之后用./install应该没什么问题。
不过装nam的时候还可能会有问题,可以运行apt-get install libxmu-dev,
之后安装nam就没有什么问题了。
安装完以后运行validate,结果是100%的结果一致。在fedora下面运行validate没有100%。
sudo apt-get install build-essential,就可以装上gcc和make了。
然后就可以用ns2-allinone安装包安装了。
安装allinone的时候,如果在安装tcl和tk的时候有问题,可以用以下命令:
sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
之后用./install应该没什么问题。
不过装nam的时候还可能会有问题,可以运行apt-get install libxmu-dev,
之后安装nam就没有什么问题了。
安装完以后运行validate,结果是100%的结果一致。在fedora下面运行validate没有100%。
jacob
为我的用户名,注意修改
cd /home/jacob
tar xvfz ns-allinone-2.33.tar.gz
cd /home/jacob
tar xvfz ns-allinone-2.33.tar.gz
|
2
、安装几个需要使用的软件包:
sudo apt-get install build-essential
sudo apt-get install build-essential
sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
sudo apt-get install libxmu-dev
3
、然后可以进行安装:
cd /home/yyang/ns-allinone-2.33.tar.gz
sudo ./install
然后看到命令行非常养眼地快速翻滚。在结束时突然报错 :
cd /home/yyang/ns-allinone-2.33.tar.gz
sudo ./install
然后看到命令行非常养眼地快速翻滚。在结束时突然报错 :
ld -shared -o libotcl.so otcl.o
otcl.o: In function `OTclDispatch':
/home/yyang/ns-allinone-2.33/otcl-1.13/otcl.c:495: undefined reference to `__stack_chk_fail_local'
otcl.o: In function `Otcl_Init':
/home/yyang/ns-allinone-2.33/otcl-1.13/otcl.c:2284: undefined reference to `__stack_chk_fail_local'
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 ...
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems
otcl.o: In function `OTclDispatch':
/home/yyang/ns-allinone-2.33/otcl-1.13/otcl.c:495: undefined reference to `__stack_chk_fail_local'
otcl.o: In function `Otcl_Init':
/home/yyang/ns-allinone-2.33/otcl-1.13/otcl.c:2284: undefined reference to `__stack_chk_fail_local'
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 ...
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems
很奇怪的错误,于是上网找解决措施,在
http://www.linuxidc.com/Linux/2010-03/25105.htm
发现解决办法:
gcc 4.0 版本以前是用 ld -share 来生成共享库的,但是到了 4.0 以上的版本(我的为 gcc version 4.4.1 ),这个命令改为了 gcc -share 即可
gcc 4.0 版本以前是用 ld -share 来生成共享库的,但是到了 4.0 以上的版本(我的为 gcc version 4.4.1 ),这个命令改为了 gcc -share 即可
解决过程:
cd /home/yyang/ns-allinone-2.33/otcl-1.13
sudo gedit configure.in
把 77 行处的
SHLIB_LD="ld -shared"
改为
SHLIB_LD="gcc -shared"
保存退出,然后
sudo gedit configure
把 6304 行的 // 应该是 6304 行
SHLIB_LD="ld -shared"
改为
SHLIB_LD="gcc -shared"
保存退出,然后
cd ..
回到目录 ns-allinone-2.33 下运行
sudo ./install
cd /home/yyang/ns-allinone-2.33/otcl-1.13
sudo gedit configure.in
把 77 行处的
SHLIB_LD="ld -shared"
改为
SHLIB_LD="gcc -shared"
保存退出,然后
sudo gedit configure
把 6304 行的 // 应该是 6304 行
SHLIB_LD="ld -shared"
改为
SHLIB_LD="gcc -shared"
保存退出,然后
cd ..
回到目录 ns-allinone-2.33 下运行
sudo ./install
安装成功提示界面如下:
Ns-allinone package has been installed successfully.
Here are the installation places:
tcl8.4.18:
/home/ns008/ns-allinone-2.34/{bin,include,lib}
tk8.4.18:
/home/ns008/ns-allinone-2.34/{bin,include,lib}
otcl:
/home/ns008/ns-allinone-2.34/otcl-1.13
tclcl:
/home/ns008/ns-allinone-2.34/tclcl-1.19
ns:
/home/ns008/ns-allinone-2.34/ns-2.34/ns
nam:
/home/ns008/ns-allinone-2.34/nam-1.14/nam
gt-itm:
/home/ns008/ns-allinone-2.34/itm, edriver, sgb2alt, sgb2ns, sgb2comns, sgb2hierns
----------------------------------------------------------------------------------
Please put /home/ns008/ns-allinone-2.34/bin:/home/ns008/ns-allinone-2.34/tcl8.4.18/unix:/home/ns008/ns-allinone-2.34/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/ns008/ns-allinone-2.34/otcl-1.13, /home/ns008/ns-allinone-2.34/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/ns008/ns-allinone-2.34/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.34; ./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.
ns008@ns008-desktop:~/ns-allinone-2.34$
环境变量:
export PATH=$PATH:/home/ns008/ns-allinone-2.34/bin:/home/ns008/ns-allinone-2.34/tcl8.4.18/unix:/home/ns008/ns-allinone-2.34/tk8.4.18/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ns008/ns-allinone-2.34/otcl-1.13:/home/ns008/ns-allinone-2.34/lib
export TCL_LIBRARY=$TCL_LIBRARY:/home/ns008/ns-allinone-2.34/tcl8.4.18/library
3.
NS
安装成功,但
startxwin.bat
是无效命令
能出来%
但输入startxwin.bat返回
invalid command name "startxwin.bat"
-------------------
》哈哈哈,哈哈哈,终于成功了,
startxwin.bat
是在
windows
上用
Cygwin
安装
NS
才用到的。我们这种情况可以直接在终端运行
nam
如
:
ns008@ns008-desktop
:~$ cd
ns008@ns008-desktop:
~$ ls -a
.
.gnupg .ssh
..
.gstreamer-0.10 .sudo_as_admin_successful
.bash_history
.gtk-bookmarks .themes
.bash_logout
.gvfs .thumbnails
.bashrc
.ibus .update-manager-core
.bashrc~
.ICEauthority .update-notifier
.bashrc.swp
.icons .xsession-errors
.cache
.local .xsession-errors.old
.config
.mozilla 公共的
.dbus
nam-example.tcl 模板
注:
//nam-example.tcl
在目录
ns-2.34/tcl/ex
下
.esd_auth
.nautilus 视频
examples.desktop ns-allinone-2.34
图片
.fontconfig
out.nam 文档
.gconf
.profile 下载
.gconfd
.pulse 音乐
.gksu.lock
.pulse-cookie 桌面
.gnome2
.recently-used.xbel
.gnome2_private
srm-stats.tr
ns008@ns008-desktop:
~$ ns nam-example.tcl
running nam...
ns008@ns008-desktop:~$