NS-3环境布置及安装
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环境布置及安装的更多相关文章
- windows下python Tkinner环境布置(包含PIL环境安装)
布置步骤:1.安装python 2.7.11 安装步骤:由于网上存在有相关经验,所以在此引用一下 http://jingyan.baidu.com/article/0bc808fc42dfab1bd4 ...
- Lamp环境的详细安装教程
原文:Lamp环境的详细安装教程 架构LAMP环境 1.布置LAMP环境之前的准备工作 在架构LAMP环境时,确保你的Linux系统已经安装了make.gcc.gcc-c++(使用rpm -q xxx ...
- C蛮的全栈之路-node篇(一) 环境布置
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...
- GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置
GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- Redhat环境下编译安装Google Bazel
Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...
- Windows环境下载与安装JBOSS服务器的详细图文教程
一.JDK的安装 首先安装JDK,配置环境变量(PATH,CLASSPATH,JAVA_HOME). 可以参照:Windows环境下JDK安装与环境变量配置 二.Jboss的介绍 JBOSS是EJB的 ...
- FIS--关于下载php后的配置(启动fis的调试服务器(注意添加 --no-rewrite 参数),如果报错 没有php-cgi环境,请 安装 它,并把php-cgi命令加到系统的环境变量)
“启动fis的调试服务器(注意添加 --no-rewrite 参数),如果报错 没有php-cgi环境,请 安装 它,并把php-cgi命令加到系统的环境变量” 对官网这句话的解释: 下载php-5. ...
- windows2008r2环境双实例安装mysql5.6
windows2008r2环境双实例安装mysql5.6 环境:windows2008 r2 标准版 1.默认安装了一个mysql5.6端口为3306 2.使用msi文件安装需要.net4.0支持,安 ...
随机推荐
- matlab中ischar确定输入是否为字符数组
来源:https://ww2.mathworks.cn/help/matlab/ref/ischar.html?searchHighlight=ischar&s_tid=doc_srchtit ...
- MLHPC 2018 | Aluminum: An Asynchronous, GPU-Aware Communication Library Optimized for Large-Scale Training of Deep Neural Networks on HPC Systems
这篇文章主要介绍了一个名为Aluminum通信库,在这个库中主要针对Allreduce做了一些关于计算通信重叠以及针对延迟的优化,以加速分布式深度学习训练过程. 分布式训练的通信需求 通信何时发生 一 ...
- JAVA学习线路:day01面向对象(继承、抽象类)
所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了.希望我们可以一起加油,一起学习,一起交流. day01面向对象[继承.抽象类] 今 ...
- str常用操作方法
1. 索引(即下标) s = 'ABCDEFGHIJKLMN' s1 = s[0] print('s[0] = ' + s1) #s[0] = A print('s[3] = '+ s[3]) #s[ ...
- MeteoInfoLab脚本示例:多坐标系
绘图的时候首先要有坐标系(Axes),可以用axes命令创建,如果没有创建在绘图时会自动创建一个.参数里的position是用来置顶坐标系的图形(figure)中的位置的,通过位置置顶,可以将多个坐标 ...
- Android开发Settings源码分析之主界面加载(二)
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套[Android进阶学习视频].[全套Android面试秘籍].[Android知识点PDF] ...
- java 图片相似度算法
利用直方图原理实现图像内容相似度比较 ,作为笔记记录在随笔中. public class PhotoDigest { public static void main(String[] ...
- 源生代码和H5的交互 android:
1: 默认的事情: Android 通过内置的UI控件WebView来加载网页. 网页是用一个网络地址来表示的: 其整个使用方法很简单如下:(android不关心实际的 ...
- C语言从1打印到100再打印到1该如何编写?我只服最后一种写法!
我觉得这是一个送分题,奈何人才太多了,给出了各种古怪的写法,如果是做项目的话,我比骄建议一些正常的写法,就是大家都能看得懂的,不要搞什么花里胡哨,不过你要是交流的话,既然是交流,我不觉得要多正规,即使 ...
- go 正则 爬取邮箱代码
package main import ( "net/http" "fmt" "io/ioutil" "regexp" ...