Ubuntu 16.04 安装ns2.35+nam

总结出以下安装步骤

1: 更新源
    sudo apt-get update #更新源列表
    sudo apt-get upgrade #更新已经安装的包
    sudo apt-get dist-upgrade #更新软件,升级系统
2:安装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
3:下载安装包,并安装  官网下载地址:http://www.isi.edu/nsnam/ns/,这里下载allinone

    tar xvfz ns-allinone-2.35.tar.gz
    cd ns-allinone-2.35
    sudo ./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()); }

    保存后 sudo ./install #重新安装顺利完成

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

    gedit ~/.bashrc     或者  vim  ~/.bashrc

    在文件末尾添加
  /# 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”
5:验证ns2安装是否成功
    关闭终端,重启终端,输入ns,出现%,说明ns2安装成功
    注意:环境变量配错的话,会提示

    程序“ns”尚未安装。 您可以使用以下命令安装:
    sudo apt-get install ns2”
    请勿通过该命令安装,还是回到Step4修改环境变量吧!
6:安装nam
    进入nam目录:cd ns-allinone-2.35/nam-1.15
    进入后sudo ./configure,然后sudo make

    注意,此处会出错
    提示为“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
    最后sudo make install

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

    注意:如果通过“sudo apt-get install nam”安装的nam,执行nam命令会报异常
    “段错误,核心文件已转储”
    遇到该问题的网友可以“sudo apt-get remove –purge nam”卸载nam及其配置后按6安装。

7:测试simple.tcl
    cd ns-allinone-2.35/ns-2.35/tcl/ex/
    ns simple.tcl

显示出实验图则全部安装成功!

Ubuntu 16——安装——ns2.35和nam的更多相关文章

  1. Ubuntu 16安装GPU版本tensorflow

    pre { direction: ltr; color: rgb(0, 0, 0) } pre.western { font-family: "Liberation Mono", ...

  2. Ubuntu14.04下安装ns2.35

    我选择的版本是2.35最新版本,安装环境是Ubuntu 14.04. 1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包,all ...

  3. 在ubuntu下安装ns2-allinone-2.35.tar.gz

    1.软件下载 首先先下载ns-allinone-2.35.tar.gz (下载路径http://sourceforge.net/projects/nsnam/files/),将其放到你/home/my ...

  4. ubuntu 14.04 ns2.35 ***buffer overflow detected **: ns terminated解决办法

    1.按照如下教程安装 Install With Me !: How to Install NS-2.35 in Ubuntu-13.10 / 14.04 (in 4 easy steps) 2.运行一 ...

  5. Ubuntu 16 安装odoo10 实录

    安装Ubuntu 16,省略 安装时,默认用户名为 odoo ubuntu 16开始 使用 systemd 管理服务,但是systemd 兼容 sysv init 脚本 下载 odoo源码 从 htt ...

  6. Ubuntu12.04 LTS 32位 安装ns-2.35

    ubuntu12.04lts 32-bit默认采用gcc 4.6和g++4.6,而ns的最新版本ns 2.3.5也采用了相同到版本,所以这方面不会有版本不同到问题 收回上面这句话..../valida ...

  7. 【转】Ubuntu 16 安装 python 依赖出现 error: command 'i686-linux-gnu-gcc' failed with exit status 1

    问题 在 Ubuntu 下安装 python 依赖的时候出现以下错误 build/temp.linux-i686-3.5/_openssl.c:498:30: fatal error: openssl ...

  8. ubuntu 16 安装django nginx uWSGI

    参考 https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and- ...

  9. Ubuntu 16 安装ElasticSearch

    首先安装Java,参见博客:http://www.cnblogs.com/1zhk/p/6056406.html 下载ElasticSearch安装包 curl -L -O https://artif ...

随机推荐

  1. Python开发【第十一篇】:Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 1.原生模块pymsql. 2.ORM框架SQLAchemy. pymsql pymsql是Python中操作MySQL的模块,其使用方法和MyS ...

  2. 词根:lun = moon, 表示“月亮”

    词根:lun = moon, 表示“月亮” lunar [lun月亮,-ar形容词后缀,…的] 月亮的,太阴的,似月的,新月形的 semilunar [semi-半,lun月亮,-ar形容词后缀,…的 ...

  3. 19-05【icloud】照片备份

    icloud提供了免费的存储空间,5G,超过这个量需要单独购买空间:我用的是50G,每月6元. 如果在mac或者iphone上开启了本地的照片流,则会自动同步到icloud,同时各个设备的客户端(ip ...

  4. python的requests模块参数详解

    import requests print(dir(requests)) # 1.方法 # ['ConnectTimeout', 'ConnectionError', 'DependencyWarni ...

  5. js获取地址栏上参数的值

    function GetQuerystring(name){ var reg=new RegExp("(^|&)" + name +"=([^&]*)(& ...

  6. Linux-Slabinfo

    1.内存管理有两个算法:伙伴算法(buddy system)和slab算法.伙伴算法是以页为单位管理内存,slab算法是以字节为单位管理内存,是内核的小内存管理算法.特点是基于对象进行管理. slab ...

  7. node.js 使用NAPI写C++插件,(部分转帖)

    原文:https://www.cnblogs.com/chyingp/p/nodejs-learning-napi.html 可能是版本问题,我用node v10.6.0 遇到了问题 不过解决了. 一 ...

  8. HTML5学习路线导航

    一.基本标签元素 1.基础标签第一篇 2.基础标签第二篇 3.表单form的使用 4.新增表单验证 二.CSS样式表 4.CSS插入样式表的三种格式 5.六大选择器 6.样式内容详细讲解 7.背景渐进 ...

  9. 分享一个可以把 iOS/Android 应用的下载链接合成一个二维码的工具

    芝麻二维码官网:https://www.hotapp.cn 1.在iOS系统设备扫描时 如果是微信扫描,因为第一步里使用了中间页面,此时无法直接跳转到App Store了,所以需要给出提示页面,提示用 ...

  10. RT-thread内核对象--事件集

    rt-thread 线程的同步:线程同步是指多个线程通过特定的机制(如互斥量,事件对象,临界区)来控制线程之间的执行顺序 1.事件集:(可以实现一对多,多对多的同步)   RT-Thread 定义的事 ...