ns3.38安装过程

一、Ubuntu22.04安装


1.下载镜像文件

[ubuntu22.04.1-desktop-amd64.iso]

下载地址

2.安装虚拟机

参考过程:http://t.csdnimg.cn/wkZ7O

二、ns3安装

安装过程参考该贴:http://t.csdnimg.cn/Mdhdk

1.安装依赖库

必装的库

sudo apt install g++ python3 cmake ninja-build git
sudo apt install ccache

选装的库
除了上述必需的库之外,一般还需要安装以下一些可选的库,以支持ns-3的部分拓展功能和特性:

Python可视化器和绑定(ns-3.37及更新版本):cppyy Python模块和Pyviz依赖

python3 -m pip install --user cppyy
sudo apt install gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3

如果上述命令行结果报如下错误:
// 我安装时出现的错误在下面,暂时还未解决

/usr/bin/python3: No module named pip

那么可以通过以下命令行先安装pip:

sudo apt install python3-pip

Python(开发)的额外最低需要:对于使用ns-3-allinone仓库(从Git克隆),需要获取额外的包并成功安装pybindgen和netanim

sudo apt install python3-setuptools git

Netanim:Netanim需要qt5开发工具

sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools

支持基于MPI的分布式模拟:

sudo apt install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev

支持bake构建工具:

sudo apt install mercurial unzip

调试:

sudo apt install gdb valgrind 

支持utils/check-style-clang-format.py代码风格检查程序(从ns-3.37开始):

sudo apt install clang-format

Doxygen和相关的内联文档:

sudo apt install doxygen graphviz imagemagick
sudo apt install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk

ns-3手册和教程是用Sphinx写的,图片一般也是以dia的格式:

sudo apt install python3-sphinx dia

GNU Scientific Library (GSL)(为支持更准确的802.11b WiFi错误模型):

sudo apt install gsl-bin libgsl-dev libgslcblas0

读取pcap数据包trace:

sudo apt install tcpdump

支持统计框架的数据库:

sudo apt install sqlite sqlite3 libsqlite3-dev

基于Xml的配置存储版本(需要libxml2 >= version 2.7):

sudo apt install libxml2 libxml2-dev

基于GTK的配置系统:

sudo apt install libgtk-3-dev

使用虚拟机和ns-3进行实验:

sudo apt install vtun lxc uml-utilities

支持openflow模块和Boost开发库:

sudo apt install libxml2 libxml2-dev libboost-all-dev

> 搜索到的教程不同,有的出现了以下错误

ubuntu@ubuntu-virtual-machine:~/桌面$ sudo apt-get install gcc g++ python python3
正在读取软件包列表… 完成
正在分析软件包的依赖关系树… 完成
正在读取状态信息… 完成
没有可用的软件包 python,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
然而下列软件包会取代它:
2to3 python2-minimal:i386 python2:i386 python2-minimal python2 dh-python python-is-python3
E: 软件包 python 没有可安装候选
但是并没有找到解决办法

出现的错误

python3 -m pip install --user cppyy
1.错误原因:ERROR: Could not find a version that satisfies the requirement setuptools (from versions: none)ERROR: No matching distribution found for setuptools
解决办法:pip install --upgrade setuptools
2.又出现错误
错误原因:ERROR: Could not find a version that satisfies the requirement wheel (from versions: none)ERROR: No matching distribution found for wheel
解决办法:pip install --upgrade wheel(应该都是版本不适配)
3.pip subprocess to install build dependencies did not run successfully.
都是子进程有问题
然后看了这篇文章http://t.csdnimg.cn/8np2y 先下载了cppyy这个包,但是不知道咋用还

2. 安装ns3.38

ns-3是以源代码的形式发布的。ns-3官方提供了3种下载ns-3源码的方式:

从ns-3网站上下载源代码存档(即tarball)
从gitlab.com克隆git存储库
使用ns-3自带的源代码包管理工具bake下载ns-3源码
这里推荐使用git。

首先在主目录下新建一个目录(注意目录名不要有空格,如”ns 3“),用于保存本地git仓库:

安装时命令如下:
cd
mkdir repos # 新建repos目录
cd repos
git clone https://gitlab.com/nsnam/ns-3-allinone.git # 克隆git仓库到本地
cd ns-3-allinone # 进入ns-3-allinone目录
python3 download.py -n ns-3.37 # 下载ns-3.37源代码(如果想下载其他版本的ns-3,只需指定版本号)

在这里插入图片描述

3.构建ns3

第一次构建ns-3项目,最常用的方式是使用ns-3-allinone目录下的build.py脚本(需要在ns-3-allinone目录下执行命令):

./build.py --enable-examples --enable-tests

在这里插入图片描述
ns-3项目自带了test.py脚本(在ns主项目ns-3.37目录下)。通过运行ns-3中自带的测试用例,test.py可以对ns-3的各个模块进行逐一测试:

cd ns-3.38
./test.py

在这里插入图片描述
上述命令完成后,如果显示如下信息(0 failed, 0 crashed, 0 valgrind errors),则代表ns-3已经正确构建!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/466549.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Git 简易速速上手小册》第5章:高级 Git 技巧(2024 最新版)

文章目录 5.1 交互式暂存5.1.1 基础知识讲解5.1.2 重点案例:为 Python 项目分阶段提交5.1.3 拓展案例 1:细粒度控制更改5.1.4 拓展案例 2:处理遗漏的更改 5.2 使用 Rebase 优化提交历史5.2.1 基础知识讲解5.2.2 重点案例:整理 Pyt…

161基于matlab的快速谱峭度方法

基于matlab的快速谱峭度方法,选择信号峭度最大的频段进行滤波,对滤波好信号进行包络谱分析。输出快速谱峭度及包络谱结果。程序已调通,可直接运行。 161 信号处理 快速谱峭度 包络谱分析 (xiaohongshu.com)

一、部署Oracle

部署Oracle 一、Docker部署1.Oracle11g1.1 测试环境1.1.1 拉取镜像1.1.2 启动容器1.1.3 配置容器环境变量1.1.4 修改sys、system用户密码1.1.5 创建表空间1.1.6 创建用户并授权1.1.5 使用DBeaver测试连接 二、安装包部署 一、Docker部署 1.Oracle11g 1.1 测试环境 当前只能用…

3.4-媒资管理之视频处理+xx-job分布式任务

文章目录 媒资管理6 视频处理6.1 需求6.1.1 总体需求6.7.3 FFmpeg 的基本使用6.7.4 视频处理工具类 6.2 分布式任务处理6.2.1 什么是分布式任务调度6.2.2 XXL-JOB介绍6.2.3 搭建XXL-JOB6.2.3.1 调度中心6.2.3.2 执行器6.2.3.3 执行任务 6.2.4 分片广播 6.3 技术方案6.3.1 作业分…

一周学会Django5 Python Web开发-Django5操作命令

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频,包括:2024版 Django5 Python we…

[CUDA 学习笔记] Reduce 算子优化

Reduce 算子优化 注: 本文主要是对文章 【BBuf的CUDA笔记】三,reduce优化入门学习笔记 - 知乎 的学习整理 Reduce 又称之为归约, 即根据数组中的每个元素得到一个输出值, 常见的包括求和(sum)、取最大值(max)、取最小值(min)等. 前言 本文同样按照英伟达官方 PP…

unity2017 遇到visual studio 2017(社区版) 30日试用期到了

安装unity2017 遇到visual studio 2017 30日试用期到了,网上百度搜了好多方法都没有成功。 最后用了这个方法: 1)启动vs2017,在弹出要登录的窗口之前,迅速的点击工具-》选项-》账户,勾选在添加账户或对账户重新进行身…

svg基础(九)滤镜-feMorphology(形态学)

feMorphology:形态学滤镜 用来侵蚀或扩张输入的图像。它在增肥或瘦身效果方面特别有用。适合用来创建轮廓和边界。 1 用法 <feMorphology operator"" radius""/>2 属性 inoperator -dilate膨胀,erode侵蚀radius- 3 示例 <svg width"50…

Linux第52步_移植ST公司的linux内核第4步_关闭内核模块验证和log信息时间戳_编译_并通过tftp下载测试

1、采用程序配置关闭“内核模块验证” 默认配置文件“stm32mp1_atk_defconfig”路径为“arch/arm/configs”; 使用VSCode打开默认配置文件“stm32mp1_atk_defconfg”&#xff0c;然后将下面的4条语句屏蔽掉&#xff0c;如下&#xff1a; CONFIG_MODULE_SIGy CONFIG_MODULE_…

LeetCode:69.x的平方根

嗨嗨嗨&#xff0c;二分又来了&#xff0c;淦它&#xff0c; 这个题官解是&#xff0c;C函数法&#xff0c;二分&#xff0c;和牛顿迭代法&#xff08;暂且搁置&#xff09;&#xff0c; 当然还有暴力&#xff08;不必讨论&#xff0c;就从0开始一个一个试&#xff09;&#…

02.12

STM32CubeMx 1.2. 3. 4. 5. 6. 7. 8. 9. 10.

王树森《RNN Transformer》系列公开课

本课程主要介绍NLP相关&#xff0c;包括RNN、LSTM、Attention、Transformer、BERT等模型&#xff0c;以及情感识别、文本生成、机器翻译等应用 ShusenWang的个人空间-ShusenWang个人主页-哔哩哔哩视频 (bilibili.com) &#xff08;一&#xff09;NLP基础 1、数据处理基础 数…