我自己前后安装过好几次NS3了,网上其他相关的博客质量都不是很好,因此自己总结了一个ns3的安装过程。

首先先去网址https://www.nsnam.org/releases/下载自己想要安装的NS-3的源代码。

然后使用如下命令解压: tar xjf ns-allinone-3.26.tar.bz2

第一步:处理gcc/g++版本

ns3的安装需要使用gcc和g++编译,但是Ubuntu18.04系统默认的gcc/g++版本一般在7.X多,而ns3的编译不支持太高版本的gcc/g++,如果不将gcc/g++降级的话,在编译安装ns3时会失败。

可以先通过命令gcc -v查看一下系统中当前gcc/g++版本。

如果确实较高则执行如下命令降低gcc和g++版本:

#安装低版本gcc和g++
sudo apt-get install gcc-5
sudo apt-get install g++-5
#进入/usr/bin目录
cd /usr/bin
#先备份
sudo mv gcc gcc.backup
sudo mv g++ g++.backup
#然后将我们下载的5.几版本的gcc和g++链接过去
sudo ln -sf gcc-5 gcc
sudo ln -sf g++-5 g++
#参看是否降级成功
gcc -v

注意:sudo apt-get install gcc-5 这条命令如果写出具体的gcc版本在我的系统上无法成功执行,但是模糊的写一个gcc-5就可以成功执行,命令会自动下载一个gcc-5.5。g++同理。

第二步:安装相关依赖

在正式编译安装ns3之前,要先安装很多依赖软件,执行以下命令安装这些依赖即可:

sudo apt-get update
sudo apt-get install gcc g++ python
sudo apt-get install gcc g++ python python-dev
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl-dev libgsl2
sudo apt-get install flex bison libfl-dev
sudo apt-get install g++ gcc
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 vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install python-sphinx dia
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
sudo apt-get install openmpi*
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra

可以把这些命令复制到一个脚本文件里一次性执行,免得一条一条执行太麻烦。

第三步:正式安装

1、先进入到目录ns-allinone-3.26,然后执行如下命令:

cd ns-allinone-3.26
sudo ./build.py

2、然后进入到目录ns-3.26,执行命令

cd ns-3.26
sudo ./waf clean

3、在目录ns-3.26下,执行如下命令完成编译安装

sudo ./waf -d debug --enable-example --enable-tests configure
sudo ./waf

如图下图所示,出现该情况表示编译成功

第四步:测试

在ns-allinone-3.26/ns-3.26目录下,执行如下命令,测试是否安装成功:

sudo ./waf --run hello-simulator

输出Hello Simulator表示安装成功

到目前为止ns3可视化动画工具netanim还是不能用的状态,后续会更新netanim的安装过程。

参考文献:

https://www.jianshu.com/p/2c6c38ebe936

https://blog.csdn.net/wuzhiwuweisun/article/details/79483178

Ubuntu18.04上安装NS-3的更多相关文章

  1. 在ubuntu18.04上安装EOS

    在ubuntu18.04上安装EOS 在ubuntu18.04上安装EOS的目的: 把交易所的eos转到eos主网,防止交易所跑路或者交易所被黑客攻击 在不联网的安全环境下,用eos官方的命令行工具, ...

  2. 在Ubuntu18.04上安装Nvidia驱动

    拿到了一台新机子,带显卡的那种,当然是各种倒腾了!于是我又一天装了三遍机子来进行各种尝试熟悉配置啥的. 所以首先是在裸机上安装Nvidia驱动. 环境:Ubuntu18.04 刚安装完系统,当然是把软 ...

  3. 联想ideapad-330C 在Ubuntu18.04 上安装Realtek 8821CE无线网卡驱动

    在新买的联想ideapad-330C笔记本上,安装Ubuntu 18.04后,悲催的发现,没有无线网络,幸好有线还能用,然后网上搜一波,发现不少人遇到这种问题,也有人给出解决方案 参考的链接: Thi ...

  4. Ubuntu18.04上安装CUDA_10.1(nvidia-driver)和cuDNN_7.6.5

    本文是在Ubuntu18.04.5服务器上安装CUDA_10.1(nvidia-driver455)和cuDNN_7.6.5, Ubuntu 18.04.5 CUDA_10.1 (nvidia-dri ...

  5. Ubuntu18.04上安装Docker CE

    建立 REPOSITORY 1.更新索引包 更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的地址,这样才能获取到最新的软件包 sudo ...

  6. Ubuntu18.04上安装N卡驱动、CUDA、CUDNN三连

    环境:Ubuntu18.04 显卡驱动真的挺方便的,CUDA和CUDNN还是踩了一些坑2333 1.安装显卡驱动 安装ubuntu更新或sudo apt-get update & sudo a ...

  7. Ubuntu18.04上安装java

    安装java8 sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-j ...

  8. Ubuntu18.04上安装Docker-Compose

    1.进入https://github.com/docker/compose/releases 查看最新版本,当前版本为1.23.1 sudo curl -L https://github.com/do ...

  9. Ubuntu18.04下安装Sublime Text3!

    这几天安装了Ubuntu18.04,然后在里面安装Sublime Text3,结果各种问题!各种BUG!试了网上各种办法!尼玛!都是坑爹的啊! 最后还是楼主自己解决了…… 废话不多说,直接按顺序执行下 ...

随机推荐

  1. selenium学习之基本操作(一)

    通过selenium的使用可以驱动浏览器来模拟加载网页,简单定位元素和获取对应的数据:# find_elements_by_id #(根据id属性值获取元素列表)# find_elements_by_ ...

  2. Allegro PCB 转 PADS Layout

    操作系统:Windows 10 x64 工具1:Allegro PCB Design XL (legacy) version 16.6-2015 工具2:PADS Layout VX.2.3 参考1: ...

  3. JavaFX ComboBox的选中事项

    参考1:https://blog.csdn.net/mexel310/article/details/37909205 参考2:https://blog.csdn.net/maosijunzi/art ...

  4. 洛谷比赛 「EZEC」 Round 4

    洛谷比赛 「EZEC」 Round 4 T1 zrmpaul Loves Array 题目描述 小 Z 有一个下标从 \(1\) 开始并且长度为 \(n\) 的序列,初始时下标为 \(i\) 位置的数 ...

  5. 【题解】[USACO12JAN]Video Game G

    第一道\(AC\)自动机\(+DP.\) 首先,一个自动机上\(DP\)的套路是设\(dp[i][j]\)表示长度为\(i\)匹配到\(j\)节点的最优得分. 那么,由于我们已经建好了\(Trie\) ...

  6. 学习Jmeter,这一篇就够了

    Jmeter在软件测试中的常用功能,看完你应该就会了 1.Jmeter的下载安装 1.1  Jmeter的官方网址是:http://jmeter.apache.org/:下载最新的包到本地进行解压,路 ...

  7. 让我们创建屏幕- Android UI布局和控件

    下载LifeCycleTest.zip - 278.9 KB 下载ViewAndLayoutLessons_-_Base.zip - 1.2 MB 下载ViewAndLayoutLessons_-_C ...

  8. 如何检测ASP中的浏览器。NET与浏览器文件

    介绍 ASP.NET是一个用于使用Web表单.MVC.Web API和SignalR(这是官方定义)构建Web应用程序的高生产力框架.它是在.net框架上开发RESTful应用程序或使用HTML.CS ...

  9. linux块设备驱动---程序设计(转)

    块设备驱动注册与注销 块设备驱动中的第1个工作通常是注册它们自己到内核,完成这个任务的函数是 register_blkdev(),其原型为:int register_blkdev(unsigned i ...

  10. 多测师讲解python _练习题002_高级讲师肖sir

    # 1.求出1/1+1/3+1/5--+1/99的和 # 2.用循环语句,计算2-10之间整数的循环相乘的值. # 3.用for循环打印九九乘法表 # 4.求每个字符串中字符出现的个数如:hellow ...