Ubuntu18.04.1 64位 安装ns2.35全过程--水逆选手必看!!高版本Ubuntu必看!!

  • ...前言
    • Step1: 更新系统
    • Step2:安装ns2需要的几个包
    • Step3:下载安装包,并复制到需要安装的目录
    • Step4:配置环境变量
    • Step5:验证ns2安装
    • Step6:安装nam
    • Step7:测试simple.tcl

…前言

标准水逆选手,刚刚开始学习ns,欢迎交流指正。环境是Ubuntu 18.04.1 64位。(千万不要学我!版本选的比天高…选个常用的吧)

不闲扯了,进入正文。

安装前我也看了很多安装教程,都很详细,但是水逆选手的人生总是比想象中“精彩”一些,所以,我从看到教程中选择了一个比较全面的然后根据我的一些实际经验做了一些添加和改正,希望和我一样的水逆选手能够少走一些弯路,少掉一些头发。感谢原文作者的总结,原文地址:
https://blog.csdn.net/leehwi/article/details/51736137

Step1: 更新系统

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

Step2:安装ns2需要的几个包

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

Step3:下载安装包,并复制到需要安装的目录

  • wget http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz 1,2
  • tar xvfz ns-allinone-2.35.tar.gz
  • cd ns-allinone-2.35
  • sudo ./install
    一定要加sudo,否则会遇到一些由于权限不够的问题,还要重新开始.

第一次安装报错:

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()); }

使用vim进行编辑办法如下:

  • cd ns-2.35/linkstate
  • vim ls.h
  • :137 #找到137行
  • i #转到编辑模式,编辑好后进行下一步
  • Esc #退出编辑模式
  • :wq! #保存并退出
  • 回到ns-allinone-2.35文件夹下
  • sudo ./install #同样,一定要加sudo,不然就。。重来吧

讲道理说,这里就该成功了,但是,水逆选手的人生才刚刚开始…
我遇到了这个问题:

Makefile:93: recipe for target 'mdart/mdart_adp.o' failed
make: *** [mdart/mdart_adp.o] Error 1
Ns make failed!

度娘说是我的版本太高了,所以我gcc -v了一下

gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)

一口老血…所以版本太高也不是好事,接下来…老老实实降版本吧 -。-
(5左右的版本就可以了)
按照这个博主写的方法就可以啦~(Ubuntu 18.04.1系统内能找到的最低版本是4.8的,把原文博客里版本号改一下就好)
http://blog.sina.com.cn/s/blog_6cee149d010129bl.html

gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8)

这样就改好了
接下来就是老规矩,回到ns-allinone-2.35,然后sudo ./install
等…

Please put /home/ubuntu/ns-allinone-2.35/bin:/home/ubuntu/ns-allinone-2.35/tcl8.5.10/unix:/home/ubuntu/ns-allinone-2.35/tk8.5.10/unix into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.IMPORTANT NOTICES:(1) You MUST put /home/ubuntu/ns-allinone-2.35/otcl-1.14, /home/ubuntu/ns-allinone-2.35/lib,into your LD_LIBRARY_PATH environment variable.If it 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 <paths>If you are using sh, you can set it like:export LD_LIBRARY_PATH=<paths>(2) You MUST put /home/ubuntu/ns-allinone-2.35/tcl8.5.10/library into your TCL_LIBRARY environmentalvariable. Otherwise ns/nam will complain during startup.
After these steps, you can now run the ns validation suite with
cd ns-2.35; ./validateFor 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.

Step4:配置环境变量

修改当前用户环境变量(对应的文件为’/home/用户名’中的.bashrc,并非’/ns-allinone-2.35’底下的空白.bashrc)

vim ~/.bashrc
shift+g #跳到最后一行
i #进入vim编辑模式

在文件末尾添加

# add path for ns2
export PATH=”$PATH:/home/安装文件夹名/ns-allinone-2.35/bin:/home/安装文件夹名/ns-allinone-2.35/tcl8.5.10/unix:/home/安装文件夹名/ns-allinone-2.35/tk8.5.10/unix
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/home/安装文件夹名/ns-allinone-2.35/otcl-1.14:/home/安装文件夹名/ns-allinone-2.35/lib”
export TCL_LIBRARY=”$TCL_LIBRARY:/home/安装文件夹名/ns-allinone-2.35/tcl8.5.10/library”

Step5:验证ns2安装

  • 关闭终端,重启终端,输入ns,出现%,说明ns2安装成功

Step6:安装nam

  • cd ns-allinone-2.35/nam-1.15
  • sudo ./configure
  • sudo make
  • sudo make install

configure后可能会出现下面的问题

configure: error: Installation of tcl seems incomplete or can't be found automatically.
  • sudo ./configure –with-tcl=/home/用户目录/文件存放目录/ns-allinone-2.35/tcl8.5.10 –with-tcl-ver=8.5.10 –with-tk=/home/用户目录/文件存放目录/ns-allinone-2.35/tk8.5.10 –with-tk-ver=8.5.10

命令行输入nam弹出nam console说明nam安装成功。

Step7:测试simple.tcl

  • cd ns-allinone-2.35/ns-2.35/tcl/ex/
  • ns simple.tcl

再次!!水逆选手本人就是一个反面教材,有的东西…千万不要去追求高版本,踏踏实实的…挺好,像我一样,简直要作成天边一道风景线了可不好…会自闭#

再次鸣谢原文作者的总结整理!


  1. 安装的这个网址会慢,非常慢,所以如果有图形界面的话利用图形界面下载压缩包最好。 ↩︎

  2. ball ball大家千万慎用2.30,这个版本简直是水逆本逆了…我下载这个版本,一直有tclcl-1.18 make failed问题出现,,遇到这个问题基本等于没救,度娘说是g++/gcc版本太高,但是就算换了低版本的也还会有其他问题出现,简直猪八戒照镜子,所以建议大家最好还是不要盲目尝试,Ubuntu10以后的话就没法从系统内找到4.3以下了,想要尝试的话可以按照后面那个网址尝试一下,但是…别试了,头发重要鸭 https://www.cnblogs.com/helloWaston/p/4574414.html ↩︎

Ubuntu18.04.1 64位 安装ns2.35全过程--水逆选手必看!!高版本Ubuntu必看!!相关推荐

  1. Ubuntu18.04版64位NS2详细安装教程

    [Ubuntu][NS2]详细安装教程 1.NS2下载 2.NS2安装 3.环境变量 1.NS2下载 系统:win 8.1 64位 首先在网址:https://www.isi.edu/nsnam/ns ...

  2. Windows10 64位 安装 Postgresql 数据库

    Windows10 64位 安装 Postgresql 数据库 1,下载Postgresql 10.7 版本,下载地址   https://www.enterprisedb.com/downloads ...

  3. ubuntu16.04下安装NS-2.35以及对simple例的理解

    本人是在VMWare上安装的ubuntu16.04版本,然后安装NS2.35. 1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包 ...

  4. Ubuntu 14.04(64位)安装和使用docker

                          Docker介绍: Docker是一个开源的应用容器引擎,可以通过docker来安装一个独立的系统(类似于虚拟机(Vmware)之类的),不过其特点是非常轻 ...

  5. mysql下载64位 太平洋,Win10 64位安装MySQL5.6.35的详细教程

    1. 下载MySQL Community Server 5.6.35 下载地址http://dev.mysql.com/downloads/mysql/5.6.html 2. 解压MySQL压缩包 将 ...

  6. win10安装mysql5.6.35_Win10 64位安装MySQL5.6.35的详细教程

    1. 下载MySQL Community Server 5.6.35 下载地址http://dev.mysql.com/downloads/mysql/5.6.html 2. 解压MySQL压缩包 将 ...

  7. 20230311给Ubuntu18.04下的GTX1080M安装驱动

    20230311给Ubuntu18.04下的GTX1080M安装驱动 2023/3/11 12:50 2. 安装GTX1080驱动 安装 Nvidia 驱动 367.27 sudo add-apt-r ...

  8. Ubuntu 12.04(64位)下载并编译 Android 4.1 源码[只有2条命令]

    2019独角兽企业重金招聘Python工程师标准>>> Ubuntu 12.04(64位)下载并编译 Android 4.1 源码[只有2条命令] ================= ...

  9. 如何解决Ubuntu 12.04(64位)系统在virtualbox环境下无法开机自动挂载共享目录的问题

    玩虚拟机玩了好几年了,主机装windows,然后安装virtualbox,在它里面再安装linux的系统.之前一直都是用的Ubuntu 11.04(32位)的系统,这次应项目要求,换成了ubuntu ...

最新文章

  1. laravel ajax vue6,详解用vue.js和laravel实现微信支付
  2. DFS:深入优先搜索 POJ-2386 Lake Counting
  3. java开发学不会_JAVA学不会,快期末了,怎么办?
  4. xml对象映射_将对象映射到多个XML模式–天气示例
  5. fzu 2109 Mountain Number 数位DP
  6. 用python写三角形_python写个三角形的问题
  7. visual studio 2017搭建linux c++开发环境
  8. 腾讯官方程序被报毒拦截?马化腾致歉
  9. Hive with as语法
  10. 15.企业应用架构模式 --- 分布模式
  11. pythonATM,购物车项目实战1,项目说明
  12. 数字图像处理学习 matable
  13. JavaScript基础--DOM部分01--李南江
  14. 苹果cms function.php,送你们几个字!对!就是MACCMS注入!
  15. 创维E900V21E、融合机DT741、咪咕MGV2000-非高安版-通刷线刷固件
  16. Python 愤怒的小鸟代码实现:物理引擎pymunk使用
  17. 计算机文件右击怎么显示打开方式,修复鼠标右键点击文件打开方式在win10中没有反应...
  18. 我的电脑开机后桌面上没有图标
  19. java实心圆_html5使用canvas画空心圆与实心圆
  20. 用java汽车美容店管理系统_洗车店 一个较为简单的洗车店管理系统 联合开发网 - pudn.com...

热门文章

  1. js中操作树结构的数据
  2. P8927 「GMOI R1-T4」Rain
  3. Python中关于list序列和tuple序列的一些知识
  4. C# 8进制 16进制 转 rgb
  5. 光大银行外包软件测试,文思海辉蝉联光大银行人力外包测试领域优秀服务商
  6. 计算机基础知识教程邮件合并,计算机二级考试之Word怎么进行邮件合并,看完就明白了...
  7. css实现手机炫酷模板页面--无需js
  8. Kotlin 为什么可以和Java混合开发
  9. pandas 之reindex and altering labels and reindex_like
  10. Guitar pro带你攻克solo第一课