ubuntu安装NS3

环境:UBUNTU16.04 64位

工具:NS3最新版NS3.25

步骤:

1. NS3安装预先设置Ubuntu环境

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 libgsl0-dev libgsl0ldbl
sudo apt-get install flex bison
sudo apt-get install g++-4.4 gcc-4.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 vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-pdf texlive-latex-extra texlive-generic-extra texlive-generic-recommended
sudo apt-get install texinfo dia texlive texlive-pdf texlive-latex-extra texlive-extra-utils texlive-generic-recommended texi2html                   //可以不执行
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
sudo apt-get install qt4-qmake 
sudo apt-get install qt4-dev-tools

2. 安装NS3

(1)使用Mercurial:

> cd

> mkdir repos

> cd repos

> hg clone http://code.nsnam.org/ns-3-allinone

(2)直接下载tar压缩包:

> cd

> mkdir tarballs

> cd tarballs

> wget http://www.nsnam.org/release/ns-allinone-3.25.tar.bz2

> tar xvf ns-allinone-3.25.tar.bz2

其实这个不用这么麻烦,直接上ns-3的官网 http://www.nsnam.org/releases/通过浏览器直接下载再解压就是

3.编译安装

在终端进入解压缩文件夹ns-allinone-3.25,并执行sudo ./build.py

安装正确打会出现:

'build' finished successfully (9m32.836s)  
  
Modules built:  
antenna                   aodv                      applications               
bridge                    buildings                 config-store               
core                      csma                      csma-layout                
dsdv                      dsr                       emu                        
energy                    fd-net-device             flow-monitor               
internet                  lte                       mesh                       
mobility                  mpi                       netanim (no Python)        
network                   nix-vector-routing        olsr                       
point-to-point            point-to-point-layout     propagation                
spectrum                  stats                     tap-bridge                 
test (no Python)          tools                     topology-read              
uan                       virtual-net-device        visualizer                 
wifi                      wimax                      
  
Modules not built (see ns-3 tutorial for explanation):  
brite                     click                     openflow                   
  
Leaving directory `./ns-3.25'  

进入ns-3.25//而非ns-allinone-3.25

sudo ./waf clean
sudo ./waf -d debug --enable-example --enable-tests configure//基于waf的调试编译方式
sudo ./waf

当然也可以不采用上面打waf编译,而直接通过build.py方式(进入解压缩文件夹ns-allinone-3.25):

sudo /build.py --enable-examples --enable-tests
然后在进入ns-3.25

4.检测

sudo ./test.py –c core

会出现一串PASS...

5.运行小例程

sudo ./waf  --run hello-simulator

会打印"hello simulator":

Waf: Leaving directory `/home/yan/NS3/ns-allinone-3.25/ns-3.25/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (2m32.830s)
Hello Simulator

如果没有看到输出“Hello Simulator”,说明你是在优化编译模式下进行的编译,在优化编译模式下,默认将关闭控制台输出。可以通过以下命令:

./waf clean

./waf -d debug --enable-examples --enable-tests configure

在调试编译模式下进行重新编译。 

到现在为止,我们顺利的下载编译了NS3软件包,并通过测试和运行Hello Simulator脚本程序来验证了软件包正确性。

如果想看到仿真界面,可以进行如下步骤:

返回目录ns-allinone-3.16,然后

sudo make clean 

sudo qmake NetAnim.pro 

sudo make

ls可以看到绿色打NetAnim

sudo ./NetAnim

即可打开仿真界面。

运行例子:

进入ns-3.25,把自己写好的脚本复制到ns-3.25/scratch目录下

cp example/tutorial/first.cc scratch/myfirst.cc
./waf
./waf --run scratch/myfirst

问题:

在配置环境时:

sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl
在安装时出现:

libgsl0ldbl,但是它被其它的软件包引用了。 这可能意味着这个缺失的软件包可能已被废弃, 或者只能在其他发布源中找到 然而下列软件包会取代它:   libgsl2 libgsl2:i386

的报错,通过www.http://packages.ubuntu.com/网站查询最近几年12.04/14.04/16.04在libgsl0ldbl软件包(GNU科学库的包)情况,发现:所涉及打三个包各版本定义如下:

Package gsl-bin:

precise (12.04LTS) (math): GNU Scientific Library (GSL) -- binary package [universe]
1.15+dfsg-1build1: amd64 armhf i386 powerpc
trusty (14.04LTS) (math): GNU Scientific Library (GSL) -- binary package [universe]
1.16+dfsg-1ubuntu1: amd64 arm64 armhf i386 powerpc ppc64el
xenial (16.04LTS) (math): GNU Scientific Library (GSL) -- binary package [universe]
2.1+dfsg-2: amd64 arm64 armhf i386 powerpc ppc64el s390x
yakkety (16.10) (math): GNU Scientific Library (GSL) -- binary package [universe]
2.1+dfsg-2: amd64 arm64 armhf i386 powerpc ppc64el s390x 

Package libgsl-dev

precise (12.04LTS) (libdevel): GNU Scientific Library (GSL) -- development package
1.15+dfsg-1build1: amd64 armhf i386 powerpc
trusty (14.04LTS) (libdevel): GNU Scientific Library (GSL) -- development package
1.16+dfsg-1ubuntu1: amd64 arm64 armhf i386 powerpc ppc64el
xenial (16.04LTS): Virtual package
provided by: libgsl-dev
yakkety (16.10): Virtual package
provided by: libgsl-dev 

Package libgsl0ldbl

    precise (12.04LTS) (math): GNU Scientific Library (GSL) -- library package
    1.15+dfsg-1build1: amd64 armhf i386 powerpc
    trusty (14.04LTS) (math): GNU Scientific Library (GSL) -- library package
    1.16+dfsg-1ubuntu1: amd64 arm64 armhf i386 powerpc ppc64el

可以发现前两个包三个版本都有并且同包名,所以在我UBUNTU16.04上前两个包不报错,但三因为libgsl0ldbl这个包UBUNTU16.04没有,所有报错,仔细查可以看到:

Package libgsl2
xenial (16.04LTS) (libs): GNU Scientific Library (GSL) -- library package
2.1+dfsg-2: amd64 arm64 armhf i386 powerpc ppc64el s390x
yakkety (16.10) (libs): GNU Scientific Library (GSL) -- library package
2.1+dfsg-2: amd64 arm64 armhf i386 powerpc ppc64el s390x 
实质上就是以往UBUNTU版本里的libgsl0ldbl,故
sudo apt-get install gsl-bin libgsl0-dev libgsl2
即可。

  • 8
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值