Ubuntu 10.04安装ns2-2.34

来源:互联网 发布:linux重启网卡命令 编辑:程序博客网 时间:2024/05/22 11:56

Ubuntu 10.04下安装ns2-2.34,步骤如下:

#更新源列表

   $ sudo apt-getupdate 

#安装几个编译必备的包

   $ sudo apt-get installbuild-essential

   $ sudo apt-get installtcl8.4 tcl8.4-dev tk8.4 tk8.4-dev

   $ sudo apt-get installlibxmu-dev libxmu-headers

然后安装,结果报错:

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

 

这是因为gcc版本高了,gcc 4.0以前的版本是用ld –share来生成共享库的,但是到了gcc4.0以后的版本,这个命令就改成了gcc –share。 在终端里输入gcc –v查看,我的版本是gcc version4.4.3。


解决办法:

    进入$ cd ***/ns-allinone-2.34/otcl-1.13

    然后$ sudo gedit configure.in

把77行处的:

     SHLIB_LD="ld-shared"

    改为

    SHLIB_LD="gcc -shared",保存退出。

然后:$ sudo gedit configure

将6304行处的:

     SHLIB_LD="ld-shared"

    改为

    SHLIB_LD="gcc -shared",保存退出。

重新安装,成功。

设置环境变量:

在/home目录下
    $sudo gedit .bashrc
在弹出的窗口文件最后输入
 
exportPATH=$PATH:/home/yourfile/ns-allinone-2.34/bin:/home/yourfile/ns-allinone-2.34/tcl8.4.18/unix:/home/yourfile/ns-allinone-2.34/tk8.4.18/unix
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/yourfile/ns-allinone-2.34/otcl-1.13:/home/yourfile/ns-allinone-2.34/lib

exportTCL_LIBRARY=$TCL_LIBRARY:/home/yourfile/ns-alllinone-2.34/tcl8.4.18/library

 

重新打开终端,输入ns,出现%符号说明成功,如果不重新打开终端,会出现找不到命令错误。

原创粉丝点击