NS3安装过程回顾

2021年1月13号

1虚拟机安装:

  官网下载VitureBox,我所使用的是目前最新的版本VitualBox 6.16 for windows hosts x86/amd86,下载完成后将语言改成简体中文,并且在设置-高级中可以选择双向复制内容。
  在虚拟机上安装Ubuntu,这里选择下载长期支持的18.04版本Ubuntu桌面版镜像文件,然后参照https://blog.csdn.net/u012732259/article/details/70172704的步骤,进行虚拟机安装和配置。
  后续继续写。


2修改Linux源:

  源要根据Ubuntu版本决定,这里是用的18.04,所以要用模式bionic,我换的是阿里源,复制如下:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

换源过程:源文件的路径为/etc/apt/sources.list。

(1)先将原始源保存:sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
(2)编辑现有文件:sudo gedit /etc/apt/sources.list,将新的源复制进去(设置VBox双向复制内容,如果没有用,可能是镜像文件的问题,重新下载)。
(3)执行命令:sudo apt-get update 以更新软件列表,换源完成。

一些常用命令:

ctrl+alt+R:打开虚拟机终端
cd ~/ 切换到家目录下
cd / 切换到目录下
cd … 当前目录的上一级

3必要环境安装

sudo apt-get install gcc g++ python python-dev C++和python
sudo apt-get install mercurial NS3代码维护使用的源码版本控制管理系统
sudo apt-get install bzr 运行python绑定ns-3-dev需要bazaar这个组件
sudo apt-get install gdb valgrind 调试工具
sudo apt-get install gsl-bin libgsl-dev libgsl23 支持更多精确WIFI模块的GNU Scientific Library (GSL)
sudo apt-get install flex bison libfl-dev 仿真必需的词法分析器和语法分析生成器
sudo apt-get install g+±3.4 gcc-3.4 Network Simulation Cradle (nsc) stacks需要gcc-3.4
sudo apt-get install tcpdump 读取pcap的packet traces
sudo apt-get install sqlite sqlite3 libsqlite3-dev 支持统计特性的数据库软件
sudo apt-get install libxml2 libxml2-dev xml的配置存储软件
sudo apt-get install libgtk2.0-0 libgtk2.0-dev 基于GTK的配置系统
sudo apt-get install vtun lxc 在虚拟机and ns-3上测试
sudo apt-get install uncrustify 支持utils/check-style.py 代码风格检查程序
sudo apt-get install doxygen graphviz imagemagick 文档生成器
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra
sudo apt-get install python-sphinx dia
sudo apt-get install python-pygraphviz python-kiwi python- - pygoocanvas libgoocanvas-dev Gustavo’s ns-3-pyviz的可视化软件
sudo apt-get install libboost-signals-dev libboost-filesystem-dev 支持openflow 模块
sudo apt-get install openmpi* 支持基于 MPI的分布式仿真

问题

(1)在执行sudo apt-get install gsl-bin libgsl-dev libgsl23 支持更多精确WIFI模块的GNU Scientific Library (GSL) 时出现错误提示,将原命令的“libgsl0-dev”替换成“libgsl-dev”就可以。
(2)在执行第15句和第16句的时候出现错误,暂时跳过。

4 NS3下载并安装

  这里在Ubuntu上安装百度网盘以下载这些文件,在浏览器里直接搜索百度网盘、下载即可。
  链接:  https://pan.baidu.com/s/1Fm7kJ1R41f5avIwRr9lwag
  提取码:w6lt
直接双击解压就可以。(这里我存在 /下载 里)(后来改为/load)

编译安装

  步骤1:在终端进入解压缩文件夹ns-allinone-3.30.1(注意不是ns-3.30),执行命令 sudo ./build.py。

cd ~/下载/ns-allinone-3.30.1
sudo ./build.py

  步骤2:配置编译,先进行配置ns3过程,再进行编译ns3过程。

cd ns-3.30.1
sudo ./waf clean //清除先前的配置编译
sudo ./waf -d debug --enable-example --enable-tests configure //基于waf的配置调试方式
sudo ./waf

  步骤3:测试ns3编译是否编译正确

sudo ./waf --run hello-simulator

打印"hello simulator",表示NS3安装成功。

5 JDK下载安装cd

(https://www.cnblogs.com/mufei/p/10452229.html)
1、 下载安装文件
链接:https://pan.baidu.com/s/1ZUj4RIP00iBmEqZCjpZLHQ
提取码:1vlj
我直接下载在主目录里

2、 解压缩至目标文件夹
如果目标文件夹存在则跳过此步骤,否则输入如下命令创建目标文件夹:
sudo mkdir /usr/lib/jvm
然后将主目录里下好的文件复制到该文件夹中
sudo cp jdk-14.0.1_linux-x64_bin.deb /usr/lib/jvm/jdk-14.0.1_linux-x64_bin.deb

然后切换到该文件夹:cd /usr/lib/jvm
输入如下命令将文件安装:
sudo dpkg -X jdk-14.0.1_linux-x64_bin.deb

3、 添加环境变量
输入如下命令打开文件:
sudo gedit ~/.bashrc
在.bashrc文件末尾加入如下语句:
#java jdk configuration
export JAVA_HOME=/usr/lib/jvm/jdk-14.0.1
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : JAVAHOME/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:JAVA_HOME/lib: J R E H O M E / l i b : JRE_HOME/lib: JREHOME/lib:CLASSPATH
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin:$PATH
输入如下命令运行使其立即生效:
source ~/.bashrc

本文安装中环境变量的修改在~/.bashrc中,仅针对当前用户,如果修改/etc/profile则针对所有用户。(最好修改成所有用户,这个需要root用户 的权限,不修改就没权限)

4、 测试JDK
输入如下命令查看JDK版本:
java --version
如若安装成功则显示如下内容:
java version “14.0.1”
Java™ SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot™ Server VM (build 23.7-b01, mixed mode)

6 eclipse下载安装

链接:https://pan.baidu.com/s/1un77Cno7d05cjjpwoLYveQ
提取码:urqw

1、解压缩至目标文件夹
输入如下命令将eclipse-cpp-luna-R-linux-gtk.tar.gz解压至目标文件夹:
sudo tar -zxvf ./eclipse-cpp-luna-R-linux-gtk.tar.gz -C /usr/local/
需要注意的是,本文安装实践中eclipse-cpp-luna-R-linux-gtk.tar.gz在当前用户的根目录下,tar命令的第二个参数为**./eclipse-cpp-luna-R-linux-gtk.tar.gz**,当然可以使用绝对路径,不再赘述。
解压成功后进入eclipse所在的目录
cd /usr/local/eclipse
执行

./eclipse

3.在 Eclipse 中配置 NS3

(1)新建 NS3 空工程
初始进入eclipse会提示你将workspace放在什么地方,我新建了一个文件hhh,Create a C++…-> C++ Managed Build 如下图所示在这里插入图片描述

(2)将 ns-3.30.1文件导入 Eclipse 的 NS3 工程中。
将解压后的 ns-3.30.1 文件夹中的文件全部复制到刚才新建的工作目录下

cd ~/下载/ns-allinone-3.30.1/ns-3.30.1
sudo cp -R ./
~/hhh/LLL/
*

进入NS3
cd ~/hhh/LLL
sudo ./waf -d debug --enable-examples --enable-tests configure

配置成功后,在eclipse所建的NS3工程点击右键选择"refresh"就可以看到导入的所有文件。

(3)设置 Eclipse 中 NS3 编译器为 waf
在 Project Explorer 中的 NS3 上单击右键,选择 properties(最下面),做如下操作:在C/C++ build 中的 Build Settings 选项卡如图所示(看图即可):去掉 use default build command 复选框中的钩,并在 build command 中输入 w o r k s p a c e l o c : / t e s t p r o j e c t / w a f ; 去 掉 g e n e r a t e m a k e f i l e s a u t o m a t i c a l l y 复 选 框 中 的 钩 , 在 b u i l d d i r e c t o r y 中 输 入 {workspace_loc:/testproject/waf} ;去掉 generate makefiles automatically复选框中的钩,在 build directory 中输入 workspaceloc:/testproject/waf;generatemakefilesautomatically,builddirectory{workspace_loc:/testproject/build}
在这里插入图片描述

然后,如图所示在 C/C++ Build 的 Behavior 选项卡中, Workbench Build Behavior 中的复选框都选上,前 2 个的值都为空,最后一个是 clean。
在这里插入图片描述

(4)设置 Eclipse 执行程序使用外部工具
选择 Run->External Tools->External tools Configuration,在 Program 中右键选择 New,如图所示
在这里插入图片描述
点击run,然后在显示的框中输入文件名,这里是scratch-simulator

6问题解决

https://www.cnblogs.com/qq952693358/p/5805183.html
里面提到了两个问题的解决方法,对于1,利用授予权限,去除锁
chmod -R 777 /home/wasdns/workspace/MyNS3_Mac/ns-3.25;问题2用下面这个命令解决,其中,user1是用户名,adm是用户组,可以通过cat /etc/group查看自己的用户名和用户组,后面是ns3项目的build文件夹中的ns3
sudo chown -R user1:adm ~/nstest/testproject/build/ns3
sudo chown -R yj:adm ~/nstest/testproject/build/ns3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值