目录
*(可忽略)导入项目方法二:直接在wsl中使用git下载该项目。
前言:为什么下载ns3:ns3-mmwave项目
读论文,发现论文的代码是开源的,下载来玩一玩。开源项目地址如下:
https://github.com/nyuwireless-unipd/ns3-mmwave
一、安装wsl-ubuntu,下载ns3-mmwave项目
我的电脑是windows系统,这个项目用到的ns3是在linux系统上运行的,网上搜索发现wsl(windows subsystem for linux,windows的linux子系统)比虚拟机更省内存,于是下载wsl。
cmd运行wsl --install -d ubuntu,应该会自动安装适用于linux的windows子系统这个程序。运行ubuntu提示设计用户名和密码。密码输入之后没有显示,但已经输入了!小心输入,务必记住。
注意:ubuntu的root(就是管理员)是没有激活的,需要像用户一样设置密码完成激活。mkdir指令必须在使用root才能完成,后面会提到root用户改密码的事。
1.1忘记ubuntu用户密码
会导致不能进行复制文件等操作,卸载ubuntu,重装。
手动安装以下两软件:
如果没有第一个软件Ubuntu会报错,第二个软件是windows terminal,方便运行ubuntu
安装完重启系统生效!
然后重新设置用户密码,密码输入之后没有显示,但已经输入了!一定要小心
1.2 切换到root用户,拥有mkdir和ls权限
ns3-mmwave可执行,安装cmake之后,运行ns3提示无法mkdir
需要激活:
sudo passwd root
然后设置你的密码,这里输入不会回显,但是有输入!和普通用户输入密码一样让人难受
登录:su root
(然后输入密码,就可以使用管理员root权限了)
ubuntu怎么切换到root用户,切换到root账号方法_ubuntu切换到root用户_i胡说的博客-CSDN博客
1.3复制windows文件到wsl
我将该项目下载到本地,将解压后的文件夹重命名为ns3-mmwave。想在wsl中运行必须移动到wsl中。使用cp -r命令复制文件夹,使用su root切换成root用户,使用ls命令查看新建文件夹。
cp -r /mnt/d/ns3-mmwave2 /home/ns3-mmwave2
su root
ls
cp命令格式:
cp Source Directory
Source:要复制的源文件
Directory:复制文件的新位置。
关于本地文件地址的解释:/mnt/d/ 进入windows的D盘,后面接文件夹地址
*(可忽略)导入项目方法二:直接在wsl中使用git下载该项目。
为什么使用这个方法:没有开可执行权限,也没有安装cmake,也没有登录root,无法运行ns3,以为是安装文件不全,从git库重新下载了一份ns3-mmwave
遇到了问题:Git下拉和提交等遇到:fatal: early EOF fatal: index-pack failed
解决:csdn搜索到的-方法三:(stackoverflow上面看到的高分解答)
命令行运行以下代码:
git config --global core.compression 0
git clone --depth 1 <repo_URI>
git fetch --unshallow 或者 git fetch --depth=2147483647
git pull --all
Git下拉和提交等遇到:fatal: early EOF fatal: index-pack failed_威威dett的博客-CSDN博客
二、 安装和配置NS3环境
安装依赖
推荐使用下列命令安装依赖库,可以傻瓜无脑安装,以下命令来自ns3官方安装流程 https://www.nsnam.org/wiki/Installation。
sudo apt-get install gcc g++ python python3
sudo apt-get install gcc g++ python python3 python3-dev
sudo apt-get install python3-setuptools git mercurial
sudo apt-get install qt5-default mercurial
sudo apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
sudo apt-get install autoconf cvs bzr unrar
sudo apt-get install gdb valgrind
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
sudo apt-get install python3-sphinx dia
sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc uml-utilities
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
安装和配置NS3环境_ns3配置_csu_zhuzi的博客-CSDN博客
下载cmake 3.23.0
原因:ns3-mmwave具有可执行权限之后,运行ns3,发现缺乏cmake
sudo wget https://cmake.org/files/v3.23/cmake-3.23.0.tar.gz
解压
sudo tar -zxvf cmake-3.23.0.tar.gz
cd cmake-3.23.0
安装
sudo ./configure
如果报错Could NOT find OpenSSL,如下
sudo apt-get -y install libssl-dev
然后,重新执行:
sudo ./configure
第二步:
执行make:
sudo make -j8
第三步:
执行make install:
sudo make install
验证是否安装成功:
cmake --version
显示:cmake version 3.23.0