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. Dell XPS 7590 Hackintosh

    网上主流引导Hackintosh的工具有Chameleon, Clover和OpenCore. 但是随着Hackintosh重要驱动开发团队acidanthera逐渐转向OpenCore,后者显然才是 ...

  2. 068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题——基本数据类型传值

    068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题--基本数据类型传值 本文知识点:参数传递问题--基本数据类型传值 说明:因为时间紧张,本人写博 ...

  3. 达梦数据库_DM8配置实时主备

    1.环境说明 准备三台机器DM_HD1.DM_HD11.DM_SH,DM_HD1和DM_HD11用来部署主备库,DM_SH用来部署确认监视器.其中DM_HD1和DM_HD11配置两块网卡,一块接入内部 ...

  4. 佛山6397.7539(薇)xiaojie:佛山哪里有xiaomei

    佛山哪里有小姐服务大保健[微信:6397.7539倩儿小妹[佛山叫小姐服务√o服务微信:6397.7539倩儿小妹[佛山叫小姐服务][十微信:6397.7539倩儿小妹][佛山叫小姐包夜服务][十微信 ...

  5. 学习go语言并完成第一个作品

    之前有使用C#写一个Windows下的发送邮件的命令行工具,方便一些脚本出现异常时向我的邮箱发送邮件提醒.但这并没有被我频繁使用,因为我的有些脚本还是在linux下面运行,因此我又有一篇文章用linu ...

  6. web自动化测试总结

    web自动化: 1.测试用例(操作步骤,熟读需求文档,web项目先用手工研究,前置条件,预期结果) 接口自动化测试中数据功能最适合作为数据驱动,数据放在excel中需要操作excel 为什么web自动 ...

  7. 不出意外,排名第一的还是它,程序员为什么都喜欢用Chrome?

    程序员为什么喜欢使用Chrome? 其实不单单是程序员喜欢使用Chrome,现在大多数的小伙伴都使用Chrome. 我们可以看到Netmarketshare发布了2020年7月的操作系统与浏览器市场份 ...

  8. Linux给特定进程单独指定DNS

    Linux本身只能通过/etc/resolv.conf设置全系统的DNS.这里有一种给特定进程单独设置DNS的方法,通过免root的mount namespace达成.使用脚本只需要一条简洁的命令就可 ...

  9. rsync安装使用中出现的报错

    一,查看本地centos的版本: [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) ...

  10. C++ Primer第5版 第一章课后练习

    练习1.9 #include <iostream> int main() { int sum = 0, val = 50; while (val <= 100) { sum += v ...