本人因团队需要,不得不在Mac上使用NS3。其实也不准确,应该是在MAC安装的Linux虚拟机上安装PyViz工具。
在NS3学习过程中遇到了各种各样问题,重装了好几次,最后都是用这套方法装的PyViz,亲测可行。
visualizer模块激活
首先是NS3,直接下载官方的all-in-one包,然后解压缩。这个网上有很多教程了,这里不过多赘述。
首先我们要安装各种依赖库,这里直接全部复制到命令行窗口,然后询问Yes or No的时候输入Y就行,让他自己安装下去。
sudo apt-get install g++ python3 python3-dev pkg-config sqlite3 cmake
sudo apt-get install mercurial
sudo apt-get install autoconf cvs bzr unrar
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl-dev libgslcblas0
sudo apt-get install flex bison libfl-dev
sudo apt-get install g++-3.4 gcc-3.4
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install vtun lxc uml-utilities
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 gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3
sudo apt-get install libxml2 libxml2-dev libboost-all-dev
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
全部安装完成后,配置激活一下。
./ns3 configure --enable-python-bindings --build-profile=debug --enable-examples --enable-tests
这里结束我们就能看到visualizer是激活了的。
然后编译。
./ns3 build
测试。测试这里我之前PyViz没装好的时候测试会有个别的几个测试项报错。自从成功安装PyViz之后,每次测试都是全通过。
./test.py
测试通过之后就可以试试能不能正常可视化。
./ns3 run first --vis
CLion配置
我们团队使用的是CLion,这里讲一下CLion怎么设置。
首先点进设置。
Toolchain改了个名字,这个随意。
CMake option这里,我们点开设置一下。
添加内容
-DNS3_EXAMPLES=ON
-DNS3_TESTS=ON
-DNS3_WARNINGS_AS_ERRORS=ON
-DNS3_NATIVE_OPTIMIZATIONS=OFF
-DNS3_PYTHON_BINDINGS=ON
-DNS3_ASSERT=ON
-DNS3_LOG=ON
enable-python-bindings
环境变量这里我们也添加一项。
名称是PYTHONPATH,值我填的是/home/parallels/ns-allinone-3.36.1:/home/parallels/ns-allinone-3.36.1/pybindgen-0.22.1
这里的路径是这个文件的目录。这里非常离谱!!!我这里地址栏是没有/parallels/这个用户名的!!!不知道是不是只有Mac上的parallel虚拟机是这样的,之前因为这个问题在CLion中运行程序总是找不到bindings。这里是虚拟机的用户名,根据你自己的情况修改,包括路径也是。
至此,CLion配置完毕。