NS-3学习笔记(1)ns-3及水声模块aqua-sim-ng模块安装笔记

ns-3安装

ns-3安装与配置根据github上要求进行即可。在此处进行简要说明

依赖安装

首先需要对相关依赖进行安装命令如下

sudo apt-get install gcc g++ python python3 -y
sudo apt-get install gcc g++ python python3 python3-dev -y
sudo apt-get install python3-setuptools git mercurial -y
sudo apt-get install qt5-default mercurial -y
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 -y
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev -y
sudo apt-get install autoconf cvs bzr unrar -y
sudo apt-get install gdb valgrind -y
sudo apt-get install uncrustify -y
sudo apt-get install doxygen graphviz imagemagick -y
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk -y
sudo apt-get install python3-sphinx dia -y
sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0 -y
sudo apt-get install tcpdump -y
sudo apt-get install sqlite sqlite3 libsqlite3-dev -y
sudo apt-get install libxml2 libxml2-dev -y
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake -y
sudo apt-get install python-pip -y
pip install cxxfilt
sudo apt-get install libgtk2.0-0 libgtk2.0-dev -y
sudo apt-get install vtun lxc -y
sudo apt-get install libboost-signals-dev libboost-filesystem-dev -y
sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 gir1.2-goocanvas-2.0 python-rsvg -y

可以把上述命令保存成require.sh文件,然后给定该文件可执行权限来快速对环境进行配置。
gediit require.sh
chmod 777 requier.sh
sudo ./require.sh
过程中可能有若干个包找不到或者错误,可以使用后文中的apt-cache命令来查找可能输错的包名称。顺便一提的是要记得换源,不然会很慢很慢。

ns3文件下载及解包

依赖安装成功后就可以进行ns3的安装了, 在该网站上进行相关安装包的下载。https://www.nsnam.org/release
也可以直接使用一下命令完成相关的包的安装及解压。
wget http://www.nsnam.org/release/ns-allinone-3.27.tar.bz2
tar zxvf ns-allinone-3.27.tar.bz2

编译安装

在进行配置安装时,有时可能出现报错,可以尝试如下方式解决。

CXXFLAGS=“-Wall” ./waf configure --enable-examples --enable-tests
./waf
配置安装完成后可以通过 ./test.py 验证是否安装正确。
在ns3.36中,弃用了waf命令,具体安装方法参考

可视化组件NetAnim安装

cd netanim #可能有后缀
make clean
qmake NetAnim.pro
make

在该过程中碰到了一些问题, 编译的时候有运算符重载的问题,需要更改 gcc 版本。
在ubuntu18.04中,我将gcc version 7 更换成 gcc version 5 才通过。

关于相关问题解决的网页地址。
https://groups.google.com/g/ns-3-users/c/EuaSrD_rA2o

参考资料

对与水声模块的安装可以参考文章
https://blog.csdn.net/qiufeng886/article/details/121593403?spm=1001.2014.3001.5502
上文给出的模块我在ubuntu20.04中也安装成功了,但在运行vbf算法时一直报错。我把版本回退到ubuntu18.04。ns-3 使用 3.26版本。
过程中可以参考文章:
http://134.74.112.6/mediawiki/index.php/Install_and_run_Aqua-Sim-NG_code
https://www.nsnam.org/wiki/Installation#Operating_system_and_compiler_support
https://shihchun.github.io/2020-06-04/

可能遇到的问题

编译中忽略部分bug

附加一下遇到的error
NS-3学习笔记(1)ns-3及水声模块aqua-sim-ng模块安装笔记_第1张图片
忽略安装中的一些bug, 对所用的编译器进行限制。

CXXFLAGS="-Wall" ./waf configure --enable-examples --enable-tests 
     -d optimized
CXXFLAGS="-Wno-error"   
CXXFLAGS="-std=c++0x"
# 在编译时候输出更多信息
# ./waf --help 命令可以输出该命令相关的
./waf -vv

可视化组件安装可以参考文章

https://blog.csdn.net/Timekeeperl/article/details/79556455

依赖安装中的无法定位部分包

​如果安装过程中遇到未知名包无法定位并且更新源后无法解决的。使用如下搜索可能输错的包名称。

apt-cache search 7z

关于Netanim的问题

18.04版本有时候会因为gcc版本而出错, 这是因为Ubuntu18.04默认的gcc g++版本是gcc-7,这时需要将gcc、g++版本更换为gcc-5,再进行编译,便能成功。

你可能感兴趣的:(c++)