Ubuntu下安装ns步骤

 

Ubuntu下安装ns步骤

ns版本为:ns-allinone-2.33.tar.gz

1,                            从官网上下载ns-allinone-2.33.tar.gz版本http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.33/ns-allinone-2.33.tar.gz/download?use_mirror=nchc

2,                            home文件夹下建立ns2文件夹

3,                            将下载的打包文件,拷贝到/home/ns2文件夹下,并且解压该文件

4,                            进入ns-allinone-2.33文件夹,执行./install,若有错误:

    

4.1 进入otcl-1.13目录,找到configure.in, 将77行,SHLIB_LD="ld -shared" 改为SHLIB_LD="gcc -shared".同时修改configure 第5518行SHLIB_LD="ld -shared"改为SHLIB_LD="gcc –shared"

否则./install时会出现如下提示:

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 ...

 

4.2  执行./install时若遇到如下错误:

遇到的错误

(1) 错误一:安装NS2.33过程中出现如下的错误:

tools/ranvar.cc: In member function ‘virtual double GammaRandomVariable::value()’:

tools/ranvar.cc:219:70: error: cannot call constructor ‘GammaRandomVariable::GammaRandomVariable’ directly

tools/ranvar.cc:219:70: error:  for a function-style cast, remove the redundant ‘::GammaRandomVariable’

make: *** [tools/ranvar.o]错误1

Ns make failed!

See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

ns-allinone-2.33/ ns-2.33/tools文件夹下,找到报错提示中的ranvar.cc文件,打开找到对应的219行删除::GaammaRandomVariable,保存,即:将219行的return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);改为:return GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

(2) 错误二:重新在ns目录下键入$ ./install安装,再次出现同类问题时,如:

mobile/nakagami.cc: In member function ‘virtual double Nakagami::Pr(PacketStamp*, PacketStamp*, WirelessPhy*)’:mobile/nakagami.cc:183:73: error: cannot call constructor ‘ErlangRandomVariable::ErlangRandomVariable’ directly

mobile/nakagami.cc:183:73: error:  for a function-style cast, remove the redundant ‘::ErlangRandomVariable’

mobile/nakagami.cc:185:67: error: cannot call constructor ‘GammaRandomVariable::GammaRandomVariable’ directly

mobile/nakagami.cc:185:67: error:  for a function-style cast, remove the redundant ‘::GammaRandomVariable’

make: *** [mobile/nakagami.o]错误1

Ns make failed!

See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

解决方法:

ns-allinone-2.33/ ns-2.33/ mobile文件夹下,找到报错提示中的nakagami.cc文件,打开找到对应的183行删除::ErlangRandomVariable,保存,即:将183行的resultPower = ErlangRandomVariable::ErlangRandomVariable(Pr/m, int_m).value();

改为:resultPower = ErlangRandomVariable(Pr/m, int_m).value();

ns-allinone-2.33/ ns-2.33/ mobile文件夹下,找到报错提示中的nakagami.cc文件,打开找到对应的185行删除::GammaRandomVariable,保存,即:将185行的

resultPower = GammaRandomVariable::GammaRandomVariable(m, Pr/m).value();

改为:resultPower = GammaRandomVariable(m, Pr/m).value();

重新在ns目录下键入$ ./install安装,再次出现同类问题时,仿照此次解决方法,找到对应的文件和行数,修改即可。直到安装成功。

更新环境变量:(注意红色的为我安装的目录)export PATH=$PATH:/home/ns2/ns-allinone-2.33/bin:/home/ns2/ns-allinone-2.33/tcl8.4.18/unix:/home/ns2/ns-allinone-2.33/tk8.4.18/unix

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ns2/ns-allinone-2.33/otcl-1.13:/home/ns2/ns-allinone-2.33/lib

export TCL_LIBRARY=$TCL_LIBRARY:/home/ns2/ns-allinone-2.33/tcl8.4.18/library

然后执行source /etc/bash.bashrc

5.安装成功后会出现以下信息:

IMPORTANT NOTICES:

(1) You MUST put /home/ruan/ns-allinone-2.33/otcl-1.13, /home/ruan/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/ruan/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.

6. 安装成功。执行ns,出现%提示符,执行nam,富有个性的图形界面就出来了

 

 7.更新软件包:ubuntu 11.04gcc版本为4.5,而ns2.33只能在gcc 4.4及以下版本安装。依次执行

a.sudo apt-get intall gcc-4.4  

b.sudo apt-get intall g++-4.4

c.修改tcl8.4.18/unix文件夹下的文件Makefile.in270CC = @CC@修改为:

CC = @CC@ -V 4.4

否则执行ns时会出现如下提示:

*** buffer overflow detected ***: ns terminated

======= Backtrace: =========

/lib/i386-linux-gnu/libc.so.6(__fortify_fail+0x50)[0x451df0]

/lib/i386-linux-gnu/libc.so.6(+0xe4cca)[0x450cca]

/lib/i386-linux-gnu/libc.so.6(__strcpy_chk+0x3f)[0x45005f]

ns(TclTraceVariableObjCmd+0x420)[0x83adb00]

ns(Tcl_TraceObjCmd+0x469)[0x83b2989]

ns(TclEvalObjvInternal+0x37b)[0x839f2bb]

ns(Tcl_EvalEx+0x419)[0x83a11a9]

ns(Tcl_Eval+0x3c)[0x83a14cc]…………………………

…………………………………………………………………………………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值