ubuntu10.10下安装ns2.3时出现的问题.docx_第1页
ubuntu10.10下安装ns2.3时出现的问题.docx_第2页
ubuntu10.10下安装ns2.3时出现的问题.docx_第3页
ubuntu10.10下安装ns2.3时出现的问题.docx_第4页
ubuntu10.10下安装ns2.3时出现的问题.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Ubuntu 10.10下安装NS2.301. NS2下载在OpenSource中searchNS2.30 我下载的版本是NS2.30,下载的文件为ns-allinone-2.30.tar.gz。 下载完后将它解压缩到主文件夹下(我的是 /home/nuaa/Soft/): tar xvfz ns-allinone-2.30.tar.gz 2.需要用到的软件包 build-essentialtcl8.4 tcl8.4-dev tk8.4 tk8.4-devlibxmu-dev 3.安装 cd/home/nsusr/ns-allinone-2.30 sudo ./install*注意当出现类似tk8.4.18,安装中断退出时,先输入:sudo apt-cache search x11-dev 得到类似以下信息: libgl1-mesa-swx11-dev - A free implementation of the OpenGL API - development files libx11-dev - X11 client-side library (development headers) libghc6-x11-dev - Haskell X11 binding for GHC libgtkglextmm-x11-dev - C+ wrapper for the OpenGL Extension to GTK (development files) 分别安装上面的组件(更新为最新版本,当然如果已经是最新版本的话,它会提醒),命令如下: sudo apt-get install libx11-dev sudo apt-get install libgl1-mesa-swx11-dev sudo apt-get install libghc6-x11-dev sudo apt-get install libgtkglextmm-x11-dev4.出错处理 1) 刚开始安装时显示gcc cant create executables之类的提示 解决方案: 这是由于我用的是Ubuntu免费邮寄的安装盘,安装后的系统中gcc是不能用来的开发的,只有一个空壳,所以需要重新安装gcc。先用命令: sudo apt-get remove gcc 然后sudo apt -get install buildessential 便成功解决问题。2) 再次安装NS2时发现安装至tk8.4.13时出现错误,安装中断退出。在安装日志上发现一句:x11/xlib.h nosuch file or directory 在网上查阅了资料,原来是x11M没有装。 解决方案: 先安装X11,命令为 sudo apt-get install libx11-dev 注意:apt-get之间没有空格 结果仍然出错如下: checking for main in -lXbsd. no checking for socket in -lsocket. no checking for gethostbyname in -lnsl. yes checking for dcgettext in -lintl. no checking for getnodebyname in -ldnet_stub. no checking that g+ can handle -O2. no checking standard STL is available. no checking for tcl.h. -I./include checking for tclInt.h. -I./include checking for libtcl8.4. -L./lib -ltcl8.4 checking for init.tcl. ./lib/tcl8.4 checking for http.tcl. ./lib/tcl8.4/http1.0 checking Tcl http.tcl library. yes checking for tclsh8.4.11. no checking for tclsh8.4. ./bin/tclsh8.4 checking for tk.h. -I./include checking for libtk8.4. -L./lib -ltk8.4 checking for tk.tcl. ./lib/tk8.4 checking for X11 header files cant find X includes otcl-1.12 configuration failed! Exiting . Please check /nsnam/ns/ns-problems.html for common problems and bug fixes. 还是没有得到解决.分析了一下可能是x11没有安装完整,于是先输入:sudo apt-cache search x11-dev 得到以下信息: libx11-dev - X11 client-side library (development headers) xlibs-dev - X Window System client library development files transitional package libghc6-x11-dev - Haskell X11 binding for GHC libooc-x11-dev - X11 specific modules for the oo2c compiler (devel) libg l1-mesa-swx11-dev - A free implementation of the OpenGL API - development support files 分别安装上面的组件,命令如下: sudo apt-get install libx11-dev sudo apt-get install xlibs-dev sudo apt-get install libghc6-x11-dev sudo apt-get install libooc-x11-dev 然后继续安装,等了半天,安装完成!3) 问题三:cant find X includes checking for X11 header files cant find X includes otcl-1.13 configuration failed! Exiting . Please check /nsnam/ns/ns-problems.html for common problems and bug fixes 无奈,只得在网上搜索答案,有人说X11路径不对,目录/usr/include下找到了X11,真以为路径不对,按照其提供的解决方法,进入有configure的文件先运行./configure -x-includes=/usr/include/X11,重新./install,问题仍旧存在,然后看到一个帖子,说出现的问题主要是找不到/usr/include/X11/Intrinsic.h文件,到/usr/include/X11下一搜索,果然没有此文件,想必有一些东西没装完整,尝试:sudo apt-get install libXt-dev此步骤做完后,重新./install,这下终于ok了!4) 问题四:make: * tk3d.o Error 1 tk8.4.18 make failed! Exiting . 原因: The required packages are : libx11-dev , libxmu-dev , libxmu-headers , libxt-dev , libtool 解决方法: 安装:libx11-dev , libxmu-dev , libxmu-headers , libxt-dev , libtool5) 问题五:make: * libotcl.so 错误 1 otcl-1.13 make failed! Exiting . 原因: gcc 4.0版本以前是用ld -share来生成共享库的,但是到了4.0以上的版本(我的为gcc version 4.4.1),这个命令改为gcc -share即可 解决方法: 把ns-allinone-2.33/otcl-1.13文件夹下的configure.in及configure中的ld -shared替换成gcc -shared,并保存。回到ns-allinone-2.33/目录重新运行./install6) 问题六:错误提示:make: g+:命令未找到 make: * tcl2c+ 错误 127 tclcl-1.19 make failed! Exiting . 在终端输入命令 g+,看提示信息,如下 yhfyhf-desktop:$ g+ 若显示:程序 g+ 已包含在以下软件包中: * g+ * pentium-builder 试试:sudo apt-get install bash: g+:找不到命令 yhfyhf-desktop:$ 说明,没装g+ 若显示 g+: 没有输入文件 说明,您装了(我还没遇到这个问题) 那就装一个吧,命令是 sudo apt-get install g + 选择 y ,ok,等会儿吧 我的g装过,只是制作交叉编译链的时候,换了个低版本的7). 问题七libotcl.so错误1cd ns-2.30ld -shared -olibotcl.so otcl.ootcl.o: Infunction OTclDispatch:/home/yanna/ns-allinone-2.30/otcl-1.12/otcl.c:495:undefined reference to _stack_chk_fail_localotcl.o: Infunction Otcl_Init:/home/yanna/ns-allinone-2.30/otcl-1.12/otcl.c:2284:undefined reference to _stack_chk_fail_localld: libotcl.so:hidden symbol _stack_chk_fail_local isnt definedld: final linkfailed: Nonrepresentable section on outputmake: *libotcl.so错误1cd ns-2.30;./validateotcl-1.12 makefailed! Exiting .See/nsnam/ns/ns-problems.html for problems在官网上有解决方案,应该是个BUG,会在以后版本中解决: otcl.o: In function OTclDispatch:/home/ns/ns-allinone-2.30/otcl/otcl.c:495:undefined reference to _stack_chk_fail_localotcl.o: In function Otcl_Init:/home/ns/ns-allinone-2.30/otcl/otcl.c:2284:undefined reference to _stack_chk_fail_localld: libotcl.so: hidden symbol _stack_chk_fail_localisnt definedld: final link failed: Nonrepresentablesection on outputmake: * libotcl.so Error 1 This error is because the linker being usedis ld -shared instead of gcc -shared.If you edit one line in otcl-1.12/configure,and rerun install , it should work: 修改/home/nuaa/Soft/ns2/ns-allinone-2.30/otcl-1.12/configure文件;Linux*)SHLIB_CFLAGS=-fpicSHLIB_LD=ld-sharedSHLIB_LD=gcc-sharedSHLIB_SUFFIX=.soDL_LIBS=-ldlSHLD_FLAGS= This will be fixed in future revisions ofns-2. 改完后重新安装。 8). 问题八Tcl.o错误1Tcl.cc:In member function void Tcl:eval(char*):Tcl.cc:182: warning: deprecated conversion from string constant to char*Tcl.cc: In member function int TclObject:traceVar(const char*, TclObject*):Tcl.cc:421: warning: deprecated conversion from string constant to char*Tcl.cc: In static member function static int TclClass:create_shadow(void*,Tcl_Interp*, int, const char*):Tcl.cc:509: warning: deprecated conversion from string constant to char*Tcl.cc:511: warning: deprecated conversion from string constant to char*Tcl.cc: In static member function static int TclClass:dispatch_instvar(void*,Tcl_Interp*, int, const char*):Tcl.cc:566: error: invalid conversion from const char* to char*Tcl.cc:571: warning: deprecated conversion from string constant to char*Tcl.cc: In member function virtual void TclClass:bind():Tcl.cc:603: warning: deprecated conversion from string constant to char*Tcl.cc:605: warning: deprecated conversion from string constant to char*make: * Tcl.o错误1tclcl-1.18 make failed! Exiting . 由于gcc版本过高引起的编译问题gcc-4.4- gcc-4.31. sudo apt-get install gcc-4.3 安装了之后,系统之中就存在两个GCC版本4.4和4.3,可以通过ls命令查看: 1. ls /usr/bin/gcc*2. /usr/bin/gcc/usr/bin/gcc-4.3/usr/bin/gcc-4.4/usr/bin/gccbug-4.3 但是这时系统默认的GCC还是4.4版的,可以通过gcc -v查看版本号 设置GCC4.3和GCC4.4的可选项,在终端输入以下命令 1. sudo update-alternatives -install/usr/bin/gcc gcc /usr/bin/gcc-4.4 402. sudo update-alternatives -install /usr/bin/gccgcc /usr/bin/gcc-4.3 30 现在设置GCC的默认版本,输入下面命令: sudoupdate-alternatives -config gcc 我得到的结果: There are 2choices for the alternative gcc (providing /usr/bin/gcc). SelectionPathPriorityStatus-* 0/usr/bin/gcc-4.440auto mode1/usr/bin/gcc-4.330manual mode2/usr/bin/gcc-4.440manual mode 然后输入“1”,再查看一下gcc的版本,已经变成4.3的了同样对于g+也可以使用同样的方法从4.4高版本切换到4.3低版本。9) 问题九:安装成功后运行样例程序发现ns模拟没有问题就是不能自动调用nam! 显示错误为: ns: finish: couldnt execute nam: no such file or directory while executing exec nam out.nam & (procedure finish line 7) invoked from within finish 解决方案: 先手动编译nam生成可执行文件nam 进入NS_HOME/nam-1.12(NS_HOME为安装ns2的路径)输入命令:make 结果显示错误: xwd.c:87:29: 错误: X11/Xmu/WinUtil.h:No such file or directory make: * xwd.o 错误 1 问题是xmu没有安装,于是只好再装xmu, 命令为: sudo apt-get install libxmu-dev 然后在输入make进行编译,完成后在NS_HOME/nam-1.12/中可以发现可执行文件nam将其复制到 NS_HOME/bin/目录下,这样由于$PATH环境变量中有NS_HOME/bin项,nam就可以直接运行了。 至此,终于大功告成了!10) 问题十:安装成功NS2后,可以运行ns命令,但是却不能运行nam图形界面,输入nam提示出现下列错误code omitted because of length: no event type or button # or keysym while executingbind Listbox %W yview scroll expr - (%D / 120) * 4 units invoked from withinif tk windowingsystem eq classic | tk windowingsystem eq aqua bind Listbox %W yview scroll expr - (%D) unitsbind Li.由于nam调用的tk组件和xproto-7.0.13不兼容导致的(xproto-7.0.13 新添加了 GenericEvent)可以到这里下载补丁/show_bug.cgi?id=225999作者的意思就是在 /ns-allinone-2.33/tk8.4.18/tk-8.4.14/generic/tkBind.c 的第588行添加:#ifdef GenericEvent/* GenericEvent */ 0,#endif保存退出后,$cd ns-2.33$./install重新安装ns-allinone2.33就可以了.最后,需要将ns-2.33中的“ns”和nam-1.12中的“nam”拷贝到/usr/local/bin下面。这样就能正常调用ns和nam了5.配置环境变量安装完成后会看到修改环境变量的提示:Please put /home/nuaa/Soft/ns2/ns-allinone-2.30/bin,/home/nuaa/Soft/ns2/ns-allinone-2.30/tcl8.4.13/unix,home/nuaa/Soft/ns2/ns-allinone-2.30/tcl8.4.13/unixinto your PATH environment; so that youllbe able to run itm/tclsh/wish/xgraph. IMPORTANT NOTICES: (1) You MUST put /home/nuaa/Soft/ns2/ns-allinone-2.30/tcl8.4.13/otcl-1.12,/home/nuaa/Soft/ns2/ns-allinone-2.30/tcl8.4.13/libinto your LD_LIBRARY_PATH environment variable.Ifit complains about X libraries, add path to your X librariesinto LD_LIBRARY_PATH.If you are using csh, you can set it like:setenv LD_LIBRARY_PATH If you are u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论