在Ubuntu18上安装ns2.35

NS2.35安装步骤

事先准备:

安装虚拟机,在虚拟机上安装Ubuntu

链接:

https://pan.baidu.com/s/1GSuPefrm8OqydFwnCXExHw

提取码:6mzo

(内含VMware虚拟机安装包、NS-2.35安装包、Ubuntu18.04.1安装包)

 

把你下载好的ns-allinone-2.35.tar.gz复制到桌面上

在Ubuntu18上安装ns2.35_第1张图片

 

  • 打开终端

在Ubuntu18上安装ns2.35_第2张图片

 

二、从普通用户变成root用户

输入:sudo su

之后的操作需要用到权限;

需要输入用户密码,就是你进入锁屏界面的时候需要输入的那个;

输入好了就直接按回车;

在Ubuntu18上安装ns2.35_第3张图片

当出现“#”号和root说明成功;

 

三、   安装几个需要的包

输入:

sudo apt-get install build-essential 

sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev  #for tcl and tk

sudo apt-get install libxmu-dev libxmu-headers  #for nam

 

  • 降低gcc的版本

这是最最坑爹的地方了,这是因为ubuntu18.04gcc编译版本太高,而ns2.352011年发布的,当时ubuntugcc版本比较低的, gcc4.4版本后,有些格式不能向下兼容,所以我们有两个方法,降低gcc版本,或者修改ns2.35文件内容,使其适应高版本gcc。后者在网上有不少教程,但我用了不少时间还是没能搞定,所以本次教程是降低ggc版本。

首先,下载gcc5.5

sudo apt-get install -y gcc-5

sudo apt-get install -y g++-5

其次、链接gcc/g++实现降级

cd /usr/bin

sudo rm gcc

sudo ln -s gcc-5 gcc

sudo rm g++

sudo ln -s g++-5 g++

然后输入 gcc -v

就可以查看你的版本号啦!

在Ubuntu18上安装ns2.35_第4张图片

 

  • 移动安装包、并解压

输入:cp /home/ ······ · · · ·  /Desktop/ns-allinone-2.35.tar.gz /usr/

(· · · · · 处请输入你的用户名)

此步骤用于将桌面的ns2安装包复制到usr目录,我们一般会在usr目录下安装软件;

 

输入:cd /usr

在Ubuntu18上安装ns2.35_第5张图片

这样你就进入了usr目录了;

 

输入:tar xvfz ns-allinone-2.35.tar.gz

解压ns安装包,在这个目录下会生成一个ns-allinone-2.35目录,和Windows差不多哦,接下来,你就可以进入此目录进行安装了。

 

六、进入ns-allinone-2.35,进行安装

cd ns-allinone-2.35

./install

(如果出现红色的error,可以看最下面的错误修改,或百度一下修改,很简单的)

 

 

安装成功后界面如下所示:

在Ubuntu18上安装ns2.35_第6张图片

在Ubuntu18上安装ns2.35_第7张图片

然后我们需要修改环境变量

输入:gedit ~/.bashrc

在文件末尾加上:

export PATH=$PATH:/usr/ns-allinone-2.35/bin:/usr/ns-allinone-2.35/tcl8.4.18/unix:/usr/ns-allinone-2.35/tk8.4.18/unix

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/ns-allinone-2.35/otcl-1.13:/usr/ns-allinone-2.35/lib

export TCL_LIBRARY=$TCL_LIBRARY:/usr/ns-allinone-2.35/tcl8.4.18/library

保存

输入:source ~/.bashrc

 

在控制台输入

ns 

显示%

显示安装成功。

 

错误修改方法:

提示make:***[linkstate/ls.o] 错误1

修改ls文件:

ns-2.35/linkstate/ls.h  137

void eraseAll() { erase(baseMap::besagin(), baseMap::end()); }

改为:

void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

然后重新 ./install

 

 

 

nam问题:

出现Can't find a usable TK.tcl in the following directories .......

只要在环境变量中加入

export TCL_LIBRARY=/usr/ns-allinone-2.35/lib/tcl8.10/library

export  TK_LIBRARY=/usr/ ns-allinone-2.35/lib/tk8.10/library

 

 

 

个人想法,仅供参考

 

 

参考资料:

https://blog.csdn.net/lwb102063/article/details/50085481

https://blog.csdn.net/joanna_yan/article/details/41408979

https://blog.csdn.net/circle2015/article/details/52490582?utm_source=blogxgwz1

https://blog.csdn.net/CAU_Ayao/article/details/83987120

 

 

 

                                                                  ------by WYH

你可能感兴趣的:(Ubuntu,NS2.35)