关于NS2的安装

来源:互联网 发布:怎么把产品放到淘宝上 编辑:程序博客网 时间:2024/04/26 18:24


从QQ上搬家 233333...

参考文献

http://blog.163.com/freedom_lover/blog/static/20282403120138267277464/

http://www.linuxidc.com/Linux/2013-05/84032.htm

http://blog.csdn.net/chenkai619/article/details/7633503

http://blog.sina.com.cn/s/blog_53e4f67d0101f5tr.html


网络模拟需要用到NS2,丫的,安装个NS2,几乎网上出现的问题我都遇到了,好在都解决啦.


首先下载ns2,最新版2.35 http://download.csdn.net/detail/lidannihaoa/4174094#comment

解压之后,在终端运行./install安装

100%会遇到问题(吐槽一下linux,装个软件都这么费劲)

1.make: *** [tk3d.o] 错误 1

tk8.5.10 make failed! Exiting ...

安装libx11-dev可以解决问题

sudo apt-get install libx11-dev


2.can't find X includes
otcl-1.14 configuration failed! Exiting ...

安装libXt-dev可以解决问题

sudo apt-get install libXt-dev

3.make: g++:命令未找到
make: *** [tcl2c++] 错误 127
tclcl-1.20 make failed! Exiting ...


安装g++可以解决问题
 
sudo apt-get install g++

然后继续解决下一个问题.... 

运行./install安装,出现

linkstate/ls.h:137:20: note: use ‘this->erase’ instead
make: *** [linkstate/ls.o] Error 1
Ns make failed!

需要修改ls文件:ns-2.35/linkstate/ls.h

第137行

void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

改为:void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

然后重新 ./install,在经过一段时间后,终于算是可以啦..

安装即将成功..



退到ns-allinone-2.35的上一级目录,在终端输入:sudo gedit .bashrc

在文件最后编辑如下信息,并保存:(我的ns2是解压到 /usr 文件夹下的,对应自己改一下,版本号也改成自己的)

PATH="$PATH:/usr/ns-allinone-2.35/bin:/usr/ns-allinone- 2.35/tcl8.5.10/unix:/usr/ns-allinone-2.35/tk8.5.10/unix"

LD_LIBRARY_PATH="/usr/ns-allinone-2.35/otcl-1.14:/usr/ns- allinone-2.35/lib"

TCL_LIBRARY="$TCL_LIBRARY:/usr/ns-allinone-2.35/tcl8.5.10/library"



别急.还没完..



退出原来的终端,新建一个终端,并直接键入命令:gedit.bashrc 回车后,出现如下正确的非空.bashrc ,
在文件最后添加:

 

export  PATH="$PATH:/usr/ns-allinone-2.35/bin:/usr/ns-allinone- 2.35/tcl8.5.10/unix:/usr/ns-allinone-2.35/tk8.5.10/unix"

export  LD_LIBRARY_PATH="/usr/ns-allinone-2.35/otcl-1.14:/usr/ns- allinone-2.35/lib"

export  TCL_LIBRARY="$TCL_LIBRARY:/usr/ns-allinone-2.35/tcl8.5.10/library"


 

验证是否安装成功:另外打开一个终端,输入ns,查看是否进入%,如果进入则表示安装成功,运行自带的实例进行测试: 果断不成功.. 


$ cd /usr/ns-allinone-2.35/ns-2.35/tcl/ex

      $ ns simple.tcl 

    报错:
            couldn't open "out.tr": permission denied
           while executing
           "open out.tr w"
          invoked from within
           "set f [open out.tr w]"
           (file "simple.tcl" line 13)


            permission denied  意思是说权限不够 
           好,我换根用户  sudo su
           输入命令 ns
          报错:“程序“ns”尚未安装。  您可以使用以下命令安装:
             apt-get install ns2“
           (英文版的应该就是Bash:ns :commend not found)
           说明ns2 2.35 没有完全安装成功  !

       在网上找到一个帖子解决了这个问题,试试make命令,使ns和nam路径在系统PATH中可用。
           $~ns-allinone-2.35/ns-2.35
           $ sudo  make install
         终端显示 for d in /usr/local/man/man1; do
            if [ ! -d $d ]; then
                     mkdir -p $d ;
                   fi;
                     done
              /usr/bin/install -c -m 755 ns /usr/local/bin
              /usr/bin/install -c -m 644 ns.1 /usr/local/man/man1
             
           $ cd ~ns-allinone-2.35/nam-1.15(nam文件在这个目录下)
     $sudo make install
     终端显示/usr/bin/install -c -m 755 nam /usr/local/bin
     没有找到nam这个文件...

网上人家的nam1.14旧版就自动有了nam ,  nam1.15的新版没有..

怎么办?装一个吧亲..

nam安装需要先安装libxmu-dev包,不然无法编译通过nam-1.15,会报“没有X11/Xmu/WinUtil.h”的错误。

sudo apt-get install libxmu-dev  安装此包

接下来安装nam。
1.用cd命令进入nam1.15(安装路径/usr/ns-allinone-2.35/nam1.15)的目录,依次执行如下命令即可安装nam:

./configure
make
make install

接下来需要把之前的某个步骤重新执行一遍:

 在/usr/ns-allinone-2.35/ns-2.35目录下
   $ sudo  make install

接下来切换到nam目录

$ cd /usr/ns-allinone-2.35/nam-1.15
     
$ sudo make install



 这样把ns和nam的路径添加到系统路径下啦(通常ns和nam只依赖于usr/lib下的库文件)
  放心的运行  ns吧!
  %%%%%%%%%   come on  !当当当当!!
  还有那养眼的仿真图哦……

这回终于完啦..

0 0