我的系统是ubuntu12.04, 安装NS3过程真是步步惊心,记录一下。
1.按照网上教程先把支持库都安了,可以查看参考的原贴链接:ns3 安装过程 - 简书
- C++和python安装,必装
1 sudo apt-get install gcc g++ python
2 sudo apt-get install gcc g++ python python-dev - NS3代码维护使用的源码版本控制管理系统
3 sudo apt-get install mercurial - 运行python绑定ns-3-dev需要bazaar这个组件
4 sudo apt-get install bzr - 调试工具
5 sudo apt-get install gdb valgrind - 支持更多精确WIFI模块的GNU Scientific Library (GSL)
6 sudo apt-get install gsl-bin libgsl-dev libgsl2 (重要,网上其他这句话多为错误) - 仿真必需的词法分析器和语法分析生成器,必装
7 sudo apt-get install flex bison libfl-dev - 一些Network Simulation Cradle (nsc) stacks需要gcc-3.4
8 sudo apt-get install g++ gcc //不用执行,已经是最新版 - 读取pcap的packet traces,即包嗅探器
9 sudo apt-get install tcpdump - 支持统计特性的数据库软件
10 sudo apt-get install sqlite sqlite3 libsqlite3-dev - xml的配置存储软件(requires libxml2 >= version 2.7)
11 sudo apt-get install libxml2 libxml2-dev - 基于GTK的配置系统
12 sudo apt-get install libgtk2.0-0 libgtk2.0-dev - 在虚拟机and ns-3上测试
13 sudo apt-get install vtun lxc - 支持utils/check-style.py 代码风格检查程序
14 sudo apt-get install uncrustify - 文档生成器,从源代码中生成说明文档
15 sudo apt-get install doxygen graphviz imagemagick
16 sudo apt-get install texlive texlive-extra-utils texlive-latex-extra //很大 留到最后吧
17 sudo apt-get install python-sphinx dia - Gustavo’s ns-3-pyviz的可视化软件
18 sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev - 支持openflow 模块(requires some boost libraries)
19 sudo apt-get install libboost-signals-dev libboost-filesystem-dev - 支持基于 MPI的分布式仿真
20 sudo apt-get install openmpi*
我没有安装6,15,16和20。而且需要安装qt4,使用以下命令安装。
sudo apt-get install qt4-dev-tools libqt4-dev
2. 下载并解压好ns3之后,运行./build.py出了问题
第一次说找不到python3,于是下载安装,建议装高版本,不然又要升级。参考:初学Ubuntu:升级python到3.7_任同学的博客-CSDN博客
下载
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
解压
tar zxvf Python-3.7.3.tgz
cd Python-3.7.3
编译
./configure --with-ssl
make
sudo make install
注意:–with-ssl必须加上,否则使用pip安装第三方包时,会引发ssl错误。导致无法使用。如果执行pip install出错,重新编译安装即可。
错误解决:
ZipError:
sudo apt install zlib*
ImportError:'_ctypes'
sudo apt-get install python-dev python-setuptools python-pip python-smbus build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev
python3.7位置
whereis python3.7
创建软连接
# 添加python3的软链接
sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3.7
# 添加 pip3 的软链接
sudo ln -s /usr/local/bin/pip3.7 /usr/bin/pip3.7
安装好python3之后重新到ns的目录下运行./build.py,提示gcc版本过低,于是升级g++到5,参考:Ubuntu升级GCC版本_jiangjiane的博客-CSDN博客
至此基本上已经完成,最后提醒一下各位,虚拟机的内存稍微给大点,第一次感觉到内存给小了直接终端死掉的快感。