ubuntu安装ns2

目录

一.安装ns2

1.更新系统源

2.下载需要的软件包

3.下载安装包

4.安装ns2

5.问题解决

问题1:

问题2:

问题3:

问题4:

6.配置环境变量

7.验证安装成功

二.nam安装

1.进入nam目录:

2.运行配置:

问题:

3.更新nam

问题1:

问题2:

三.运行实例

问题1:

问题2:

运行结果:


一.安装ns2

1.更新系统源

sudo apt-get update          #更新源列表
sudo apt-get upgrade          #更新已经安装的包
sudo apt-get dist-upgrade     #更新软件,升级系统

若觉得速度太慢,可以更换国内源

sudo vim /etc/apt/sources.list

编辑/etc/apt/sources.list文件,将下列代码其中一个添加至文件末尾即可

清华源

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

阿里源

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

中科大源

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

重新加载下资源

source /etc/apt/sources.list

2.下载需要的软件包

sudo apt-get install build-essential
sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev  #for tcl and tk(toolkit)是用来做图形用户界面(GUI)的工具,与tcl命令结合可以创建和操作GUI的窗口组件
sudo apt-get install libxmu-dev libxmu-headers  #for nam
sudo apt-get install perl xgraph libxt-dev libx11-dev

3.下载安装包

官网下载地址:The Network Simulator - ns-2

建立共享文件夹,用共享文件夹将windows下的ns-allinone-2.35.tar.gz解压到虚拟机中

windows所建立的共享文件夹如下

有关共享文件夹挂载问题可参考此文章:http://t.csdn.cn/JMeij

4.安装ns2

因为共享文件夹挂载在/mnt/hgfs/ubuntu16共享文件夹,故执行下列命令,进入共享文件夹

cd /mnt/hgfs/ubuntu16共享文件夹

安装

sudo tar -zxvf ns-allinone-2.35.tar.gz -C /usr/local/
cd /usr/local
sudo mv ./ns-allinone-2.35 ./ns2
sudo chown -R root:root ./ns2
cd ns2
sudo ./install

5.问题解决

问题1:

mdart/mdart_adp.cc:396:21: error: reference to 'hash' is ambigous

解决:

sudo vim ns-2.35/mdart/mdart_function.h
230行:hash -> hash_o
sudo vim ns-2.35/mdart/mdart_adp.cc
108行:hash -> hash_o
396行:hash -> hash_o

问题2:

linkstate/ls.h:137:20: note: use ‘this->erase’ instead
make: *** [linkstate/ls.o] Error 1
Ns make failed!

解决:

将ns-2.35/linkstate/ls.h
sudo vim ns-2.35/linkstate/ls.h
的137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); } 
更改为
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

问题3:

In file included from common/tkAppInit.cc:57:0:
./bitmap/play.xbm:5:74: error: narrowing conversion of ‘252’ from ‘int’ to ‘char’ inside

解决:

sudo vim ns-2.35/bitmap/play.xbm
在char前加入unsigned即可

问题4:

common/tkAppInit.cc: 65:4: error: invalid conversion from 'unsigned char*' to 'const char*' [-fpermissive]
   65|    play_bits,play_width,play_height);

解决:

方法1:将play_bits改为reinterpret_cast<const char*>(play_bits)即可
方法2:在play_bits前加(const char*)即可

安装成功:

6.配置环境变量

gedit  ~/.bashrc

在文件末尾加上如下配置(注意修改路径):

export NS_HOME=/usr/local/ns2
export TK_HOME=$NS_HOME/tk8.5.10
export TCl_HOME=$NS_HOME/tcl8.5.10
export PATH=$PATH:$NS_HOME/bin:$TK_HOME/unix:$TCL_HOME/unix
export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib
export TCL_LIBRARY=$TCL_HOME/library

重加载资源:

source ~/.bashrc

7.验证安装成功

cd /usr/local/ns2/ns-2.35
sudo./validate 

输入ns,出现%,说明ns2安装成功

二.nam安装

1.进入nam目录:

cd /usr/local/ns2/nam-1.15

2.运行配置:

sudo ./configure

问题:

configure: error: Installation of tcl seems incomplete or can't be found automatically.
Please correct the problem by telling configure where tcl is
using the argument --with-tcl=/path/to/package
(perhaps after installing it),
or the package is not required, disable it with --with-tcl=no.

解决:指定版本号

sudo ./configure --with-tcl-ver=8.5

3.更新nam

sudo make

问题1:

文件名:行号:error: narrowing conversion of '249' from 'int' to 'char' [-Wnarrowing]

解决:

sudo vim 报错的相应文件名
打开文件后,在char前加上unsigned即可

问题2:

main.cc:行号:4: error: invalid conversion from 'unsigned char*' to 'const char*'[-fpermissive]

解决:

sudo vim main.cc
按:行号,跳转至相应行,在报错标识符前加(const char*),进行强制类型转换即可

然后

sudo make install

若出现:

/usr/bin/install -c -m 755 nam /usr/local/bin

运行即可

sudo /usr/bin/install -c -m 755 nam /usr/local/bin

命令行输入nam弹出nam console说明nam安装成功

三.运行实例

cd /usr/local/ns2/ns-2.35/tcl/ex/
ns simple.tcl

问题1:

解决一:授予权限

sudo vim out.tr
sudo chmod 777 out.tr

问题2:

解决一:同上

sudo vim out.nam
sudo chmod 777 out.nam

解决上述问题还有一个方法,此方法更为普遍,上述方法对一些.tcl程序的运行可能会报错,产生段错误,如下:

解决二:

产生该问题的原因是所在文件夹权限不够,无法生成我们所需要的对应文件

cd ..
ll

cd ..到上级目录,ll发现ex文件夹的权限为:

故更改权限:

sudo chmod 777 ex

更改后再次进入ex文件夹:

cd ex
ns simple.tcl

运行结果:

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值