在Ubuntu 9.10下安装NS2-2.34

 注:本文80%以上内容与下面的参考链接相同。

1、首先是下载ns-allinone-2.34.tar.gz。去官网或者网上找都有。

  2、先更新一下系统。在终端输入:

sudo apt-get update   #更新源列表
sudo apt-get upgrade   #更新已安装的包
sudo apt-get dist-upgrade   #更新软件,升级系统

 3、安装几个需要使用的软件包

 sudo apt-get install build-essential  
sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev   #for tcl and tk
sudo apt-get install libxmu-dev libxmu-headers   #for nam

4、然后可以进行安装
sudo cp /home/ww/ns-allinone-2.34.tar.gz /usr #将压缩文件放到安装目录下

cd /usr/

sudo tar -zxvf ns-allinone-2.34.tar.gz

cd  ./ns-allinone-2.34
sudo./install
然后看到命令行非常养眼地快速翻滚。在结束时突然报错:

ld -shared-o libotcl.so otcl.o
otcl.o: Infunction `OTclDispatch':
/usr/ns-allinone-2.34/otcl-1.13/otcl.c:495:undefined reference to `__stack_chk_fail_local'
otcl.o: Infunction `Otcl_Init':
/usr/ns-allinone-2.34/otcl-1.13/otcl.c:2284:undefined reference to `__stack_chk_fail_local'
ld:libotcl.so: hidden symbol `__stack_chk_fail_local' isn'tdefined
ld: finallink failed: Nonrepresentable section on output
make: ***[libotcl.so] 错误 1
otcl-1.13make failed! Exiting ...
Seehttp://www.isi.edu/nsnam/ns/ns-problems.html forproblems


错误原因及发现解决办法:
gcc 4.0版本以前是用ld -share来生成共享库的,但是到了4.0以上的版本(我的为gcc version4.4.1),这个命令改为了gcc -share即可


解决过程:
cd /usr/ns-allinone-2.34/otcl-1.13
sudo geditconfigure.in
把77行处的
 
      SHLIB_LD="ld-shared"
改为
       SHLIB_LD="gcc -shared"
保存退出,然后


sudo geditconfigure

如下图


原来为
 
      SHLIB_LD="ld-shared"
改为
       SHLIB_LD="gcc -shared"(图中已改完)
保存退出,然后


cd   /usr/ns-allinone-2.34
回到目录ns-allinone-2.34下运行
 


sudo./install

如果正确安装可以看到提示:
----------------------------------------------------------------------------------

5、设置环境变量和善后工作:

  用cd进入目录/home/ww(ww是我的用户名),然后

    sudo gedit .bashrc

    在文件末尾加入:

    PATH="$PATH:/usr/ns-allinone-2.34/bin:/usr/ns-allinone-2.34/tcl8.4.18/unix:/usr/ns-allinone-2.34/tk8.4.18/unix"

    LD_LIBRARY_PATH="/usr/ns-allinone-2.34/otcl-1.13:/usr/ns-allinone-2.34/lib"

    TCL_LIBRARY="$TCL_LIBRARY:/usr/ns-allinone-2.34/tcl8.4.18/library"

    保存退出(上述内容在安装结束后的提示中有,见粗体部分)。

6、验证

    打开一个终端,输入ns,如果出现%,则说明安装成功。

    也可以进入/usr/ns-allinone-2.34/ns-2.34/,输入./validate验证。

    到此。上面的/usr目录记得都要用自己的安装路径替换。


参考:

http://merofxin.blogbus.com/logs/54669787.html

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

   

posted on 2010-05-13 19:48  耕耘  阅读(2284)  评论(1编辑  收藏  举报

导航