一、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已经正确构建!