MMP的,入坑NS3了,LTE是什么鬼!!!

ubantu安装NS3解决依赖环境

一堆安装包需要安装,试了N多次(CentOS没安装明白,转而ubantu)。利用脚本进行按装。

貌似得先对本机软件进行升级,从官方文档获取安装步骤,传送门:https://www.nsnam.org/wiki/Installation,官网部分安装步骤貌似不能通过(仅限本机),在安装脚本中进行说明

不得不说这安装环境的过程不是一般的长

zyb@virtual-machine:~$ uname -a
Linux virtual-machine 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
zyb@virtual-machine:~$ sudo apt-get upgrade
zyb@virtual-machine:~$ vim ns3_install_environment.sh
sudo apt-get install gcc g++ python python-dev -y
sudo apt-get install mercurial python-setuptools git -y
# 官方安装qt5-default貌似当时死活安装不上,可用qt4-dev-tools代替
sudo apt-get install qt4-dev-tools -y
#sudo apt-get install qt5-default -y
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython -y
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev -y
sudo apt-get install autoconf cvs bzr unrar -y
sudo apt-get install gdb valgrind -y
sudo apt-get install uncrustify -y
sudo apt-get install doxygen graphviz imagemagick -y
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng -y
sudo apt-get install python-sphinx dia -y
sudo apt-get install gsl-bin libgsl2 libgsl-dev -y
sudo apt-get install flex bison libfl-dev -y
sudo apt-get install tcpdump -y
sudo apt-get install sqlite sqlite3 libsqlite3-dev -y
sudo apt-get install libxml2 libxml2-dev -y
#Support for generating modified python bindings
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-dev -y
# 官网中没有下面一条安装过程,但是执行pip命令需安装python-pip
sudo apt install python-pip -y
pip install cxxfilt -y
sudo apt-get install libgtk2.0-0 libgtk2.0-dev -y
sudo apt-get install vtun lxc -y
sudo apt-get install libboost-signals-dev libboost-filesystem-dev -y
# 貌似还需要这个,官方没这条
sudo apt-get install p7zip-full -y

至此环境安装脚本写完,注意:仅是环境部分,祈祷不要出错吧,余下漫长的等待过程。

NS3正式安装


首先恭喜你能走到这一步,剩下的基本没什么了,完全可参照官网部分。

有多种安装方式,此处为编译安装

zyb@virtual-machine:~$ mkdir tarballs
zyb@virtual-machine:~$ cd tarballs/
zyb@virtual-machine:~/tarballs$ wget https://www.nsnam.org/release/ns-allinone-3.28.tar.bz2
zyb@virtual-machine:~/tarballs$ tar xf ns-allinone-3.28.tar.bz2
zyb@virtual-machine:~/tarballs$ cd ns-allinone-3.28/
zyb@virtual-machine:~/tarballs/ns-allinone-3.28$ ./build.py --help
Usage: build.py [options] Options:
-h, --help show this help message and exit
--disable-netanim Don't try to build NetAnim (built by default)
--qmake-path=QMAKE_PATH
Provide absolute path to qmake executable for NetAnim
--enable-examples Do try to build examples (not built by default)
--enable-tests Do try to build tests (not built by default)
--build-options=BUILD_OPTIONS
Add these options to ns-3's "waf build" command
zyb@virtual-machine:~/tarballs/ns-allinone-3.28$ ./build.py --enable-examples --enable-tests
...此处省略N个字符
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$

上述步骤执行后,ns3已成功安装,而且是3.28最新版的!

接下来进行测试,注意scratch-simulator不要带后缀。

zyb@virtual-machine:~/tarballs/ns-allinone-3.28$ cd ns-3.28/
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf --run scratch/scratch-simulator
Waf: Entering directory `/home/zyb/tarballs/ns-allinone-3.28/ns-3.28/build'
Waf: Leaving directory `/home/zyb/tarballs/ns-allinone-3.28/ns-3.28/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (5.296s)
Scratch Simulator

第一次编译安装貌似得用build.by命令,一旦工程编译过想进行重新配置可用waf命令,此命令在~/tarballs/ns-allinone-3.28/ns-3.28目录中,和build.by编译工程不再同一目录

# 清除之前配置信息
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf --clean
# 进行配置,默认例子和测试不便宜
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf -d optimized --enable-examples --enable-tests configure
# 安装
zyb@virtual-machine:~/tarballs/ns-allinone-3.28/ns-3.28$ ./waf

上述三行代码没试过,不想再在安装这墨迹了,快哭了。

后续可参考马春光 姚建胜编写的《NS-3网络模拟器基础与应用》

NS-3环境布置及安装的更多相关文章

  1. windows下python Tkinner环境布置(包含PIL环境安装)

    布置步骤:1.安装python 2.7.11 安装步骤:由于网上存在有相关经验,所以在此引用一下 http://jingyan.baidu.com/article/0bc808fc42dfab1bd4 ...

  2. Lamp环境的详细安装教程

    原文:Lamp环境的详细安装教程 架构LAMP环境 1.布置LAMP环境之前的准备工作 在架构LAMP环境时,确保你的Linux系统已经安装了make.gcc.gcc-c++(使用rpm -q xxx ...

  3. C蛮的全栈之路-node篇(一) 环境布置

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...

  4. GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...

  5. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  6. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  7. Windows环境下载与安装JBOSS服务器的详细图文教程

    一.JDK的安装 首先安装JDK,配置环境变量(PATH,CLASSPATH,JAVA_HOME). 可以参照:Windows环境下JDK安装与环境变量配置 二.Jboss的介绍 JBOSS是EJB的 ...

  8. FIS--关于下载php后的配置(启动fis的调试服务器(注意添加 --no-rewrite 参数),如果报错 没有php-cgi环境,请 安装 它,并把php-cgi命令加到系统的环境变量)

    “启动fis的调试服务器(注意添加 --no-rewrite 参数),如果报错 没有php-cgi环境,请 安装 它,并把php-cgi命令加到系统的环境变量” 对官网这句话的解释: 下载php-5. ...

  9. windows2008r2环境双实例安装mysql5.6

    windows2008r2环境双实例安装mysql5.6 环境:windows2008 r2 标准版 1.默认安装了一个mysql5.6端口为3306 2.使用msi文件安装需要.net4.0支持,安 ...

随机推荐

  1. 无所不能的Embedding 2. FastText词向量&文本分类

    Fasttext是FaceBook开源的文本分类和词向量训练库.最初看其他教程看的我十分迷惑,咋的一会ngram是字符一会ngram又变成了单词,最后发现其实是两个模型,一个是文本分类模型[Ref2] ...

  2. Java知识系统回顾整理01基础04操作符04位操作符

    一.位操作符 位操作符在实际工作中用的并不常见,但是我比较纠结这些位操作.所以实际练习位操作符的每一个操作符的操作实例来理解其具体含义. 建议: 如果确实感兴趣,就看看,个人建议跳过这个章节. 真正工 ...

  3. Python3——字典

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

  4. P 4315 月下毛景树

    题目描述 毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园. 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里. 爬啊爬~爬啊爬毛毛虫爬到了一颗小小的"毛景树&quo ...

  5. JavaScript查找字符串中给定字符出现的位置以及次数

    要求: 给定字符串oabcoefoxyozzopp,要求输出字符o出现的位置和次数. 实现思路: 先查找第一个o出现的位置 然后只要判断indexOf返回的结果,若不是-1,则继续往后查找 因为ind ...

  6. 远程触发Jenkins的Pipeline任务的并发问题处理

    前文概述 本文是<远程触发Jenkins的pipeline任务>的续篇,上一篇文章实战了如何通过Http请求远程触发指定的Jenkins任务,并且将参数传递给Jenkins任务去使用,文末 ...

  7. Docker 开启非认证的2375端口,提供外部访问 Docker

    1.编辑 Docker 服务的配置文件 vi /usr/lib/systemd/system/docker.service 或者 vi /lib/systemd/system/docker.servi ...

  8. 扩展、接管MVC都不会,还会用Spring Boot?

    持续原创输出,点击上方蓝字关注我 目录 前言 Spring Boot 版本 如何扩展MVC? 如何自定义一个拦截器? 什么都不配置为什么依然能运行MVC相关的功能? 如何全面接管MVC?[不推荐] 为 ...

  9. 将本地代码初始化上传到gitlab仓库

    首先你已经安装了git. 1.在本地代码目录,鼠标右键Git Bash Here: 2.执行git命令,此命令会在当前目录下创建一个.git文件夹, git init 3.将项目的所有文件添加到仓库中 ...

  10. boost之multiprecision

    multiprecision boost中提供的高精度库,支持高精度整型,浮点型等.并且提供统一的接口模板,只需要指定对应的后端类型即可实现对应类型的高精度计算: boost::multiprecis ...