Ubuntu 9.10 + NS2-2.34

两天啊,这两天被NS2整死了,刚开始想使用win7+cygwin+NS2,可到了后面bug太多,根本装不下去,网上提供的教程也不能解决我的问题,win7出错出的莫名其妙。废话不说,讲讲过程,为以后参考。

 

先在win7下安装cygwin,下载的本地安装,完全安装,没有出现问题,安装完成之后下载下来ns2-allinone-2.29.tar.gz。放在cygwin默认的主目录下面,解压,在cygwin中输入tar zxf ns2-allinone-2.29.tar.gz,再进入ns2-allinone-2.29.tar.gz文件夹中:cd ns2-allinone-2.29.tar.gz,输入 ./install,正常的安装下来就应该出现3个提示信息,可惜可惜,我一直都出现的都是无数的error,在根据网上的教程做了半天之后,我决定放弃win7,投入ubuntu的怀抱,于是开始作双系统。

 

先整理出来一个盘,大小要超过10G,然后在磁盘管理器中把它删除,这是留给linux用的。

 

从网上下载ubuntu10.04的ios文件,开始尝试硬盘安装,使用grub,可惜不管怎么设置都会出问题,每次重启选择安装linux都会出现missing mbr-helper,让我很是困惑,网上没有找到解决方式,又决定进行光盘安装,用win7自带工具将ubuntu刻到光盘上后再设置从光驱启动,重启则直接进入安装界面,安装过程按照提示一步一步走就行了,只有在硬盘选择的时候需要注意一下,需要把那10G多的空间分为两部分,1,2G左右分给swap格式,剩下的就挂在"/”,格式为ext4或者ext3都可以,这个格式windows是不认识的,不管他,继续进行安装,一切正常,但在点击开始安装之后出现bug,提示我“由于下列设备不能被卸载,所以不能继续安装”,我继续往下看,发现赫然写着“CDROM”,真是无语,如果你把CDROM卸载了,那我还怎么从光盘安装阿。这个错误无论是返回还是继续都无法解决。

 

于是我打算进入尝试使用ubuntu界面,先进入尝试使用的操作系统,然后在终端输入sudo umount /CDROM ,竟然成功了,在这个界面下点击桌面上的安装图标开始安装,恩,前半部分顺利过去了,可安装中又出现问题,这次不解释问题原因,只告诉我“如果你没有进行保密性的活动,可以将这个问题发送给我们”,无论我选择发送或者不发送,结果都是退出安装。

 

我郁闷至极,这个时候同学提示我可以换一个版本,我原来一直安装的都是ubuntu 10.04,我就又从网上下载了一个ubuntu 9.10,再次刻盘,再次安装,一次通过,太爽了,唯一要注意的问题是,在安装前要拔掉网线,否则它回去下载语言包,这可是从国外的源上下载,时间需要太久了,拔掉网线就不会下载了,这个语言包我们可以在安装结束后设置速度较快的源进行解决。

 

装好ubuntu,想使用中文输入法,这里可以使用scim,挺好用的,但需要先在系统管理中加入对中文的支持,所以还是要先找到一个比较快的源,我刚开始在公网下载,但速度一点都不快,速度不能上100K,一怒之下回学校,使用学校提供的教育网源,速度暴快,速度在7M左右,源的设置参考下面的文章:

http://forum.byr.edu.cn/wForum/disparticle.php?boardName=Linux&ID=82799&pos=75

 

源设置好之后进行一遍更新

 

sudo apt-get update #更新源列表

sudo apt-get upgrade #更新已安装的包

sudo apt-get dist-upgrade #更新软件,升级系统

 

安装输入法

 

sudo apt-get install scim

sudo apt-get install scim-chinese

 

就要开始我的主要目的,安装NS2了,安装NS2可让我吃了不少苦,先参考这篇文章(http://hi.baidu.com/sbzhysh/blog/item/709efb35cb3a0dbdd1a2d3fb.html)把作者碰到的所有问题都碰到了一遍,结果在作者说道可以成功安装的时候,我的机器还是继续出现新的问题,比如"can't convert from const char * to char *",实在很郁闷,后来在网上看到说这是由于ubuntu9.10的gcc编译器太新了,不支持旧版本的一些东西,我就去找旧版的gcc4.12,下下来后却怎么也解压不了,总是报错,一度崩溃。后来又在同学帮助下说不需要安装低版本的gcc,于是我继续在网上看有其他的安装方法,终于找到一篇文章可以解决问题:

http://merofxin.blogbus.com/logs/54669787.html

 

原文如下:

1、首先下载ns-allinone-2.34.tar.gz。这个去官网上找就可以了,Google一下也有很多吧。

    2、按照[1]的步骤,先更新了一下系统。在终端输入:

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

    不过我在执行第一条的时候,命令行总是到

    94% [正在连接 archive.ubuntu.com (91.189.88.40)]

    就卡住了。最后只能强行关闭终端。不知道是什么原因哈~网路连接问题么。但这个并没有影响后续的安装。

    3、装几个需要使用的软件包

sudo apt-get remove gcc   #移除gcc
sudo apt-get install build-essential #for gcc and some essential
sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev   #for tcl and tk
sudo apt-get install libxmu-dev libxmu-headers   #for nam

    4、安装NS2

    把ns-allinone-2.34.tar.gz压缩包放到想要安装的目录下。我的是扔到了/usr下面。因为是写保护的文件夹,不能在窗口复制粘贴,所以在终端输入:

    sudo cp /media/01CA4E644AAC9180/我的文档/程序/Linux/ns-allinone-2.34.tar.gz /usr

    前面那一串路径比较麻烦- - 因为是挂载的Windows下的分区。好在用Tab键输入很方便。

    然后继续……

cd /usr   #到安装目录
ls   #可以查看该目录下的文件
sudo tar -xzf ns-allinone-2.34.tar.gz   #解压到当前目录
cd ns-allinone-2.34   #进入目录
sudo ./install   #开始安装

    然后命令行快速刷新,确实很养眼。但不一会突然报错:

    ……(以上省略)
make: *** [libotcl.so] 错误 1
otcl-1.13 make failed! Exiting ...
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

    卡住了,很郁闷,于是上网找解决方法。在[2]上得到结果如下:

    gcc 4.0版本以前是用ld -share来生成共享库的,但是到了4.0以上的版本,这个命令改为了gcc -share。在终端里输入gcc -v查看,我的版本是gcc version 4.4.1。

    开始修改。

    cd /usr/ns-allinone-2.34/otcl-1.13
sudo gedit configure.in

    把77行的SHLIB_LD="ld -shared",改为SHLIB_LD="gcc -shared",保存退出。然后

    sudo gedit configure

    按照[2]中的说法,在5518行找,木有。于是Ctrl+F了一下,在6000+行找到了。把SHLIB_LD="ld -shared"改为SHLIB_LD="gcc -shared",保存退出。

    cd回到目录ns-allinone-2.34下,重新运行

    sudo ./install

    顺利完成安装。最后出来提示:

    Please put /usr/ns-allinone-2.34/bin:/usr/ns-allinone-2.34/tcl8.4.18/unix:/usr/ns-allinone-2.34/tk8.4.18/unix

    into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.

    IMPORTANT NOTICES:

    (1) You MUST put /usr/ns-allinone-2.34/otcl-1.13, /usr/ns-allinone-2.34/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH <paths>
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=<paths>

    (2) You MUST put /usr/ns-allinone-2.34/tcl8.4.18/library into your TCL_LIBRARY environmental
variable. Otherwise ns/nam will complain during startup.

    After these steps, you can now run the ns validation suite with
cd ns-2.34; ./validate

    For trouble shooting, please first read ns problems page
http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive
for related posts.

    5、配置环境变量

    用cd进入目录/home/hm(hm是我的用户名),然后

    sudo gedit .bashrc

    在文件末尾加入:

    PATH="$PATH:/usr/ns-allinone-2.34/bin:/usr/ns-allinone-2.34/tcl8.4.18/unix:/usr/ns-allinone-2.34/tk8.4.18/unix"

    LD_LIBRARY_PATH="/usr/ns-allinone-2.34/otcl-1.13:/usr/ns-allinone-2.34/lib"

    TCL_LIBRARY="$TCL_LIBRARY:/usr/ns-allinone-2.34/tcl8.4.18/library"

    保存退出(上述内容在安装结束后的提示中有,见粗体部分)。

    6、验证

    打开一个新终端,输入ns,如果出现%,则说明安装成功。

    也可以进入/usr/ns-allinone-2.34/ns-2.34/,输入./validate验证。

    到此。上面红色标注的部分记得都要用自己的安装路径替换。

    参考:

    [1] ubuntu-9.04-alternate-i386下安装ns2的方法和遇到的问题(原创)

    [2] Ubuntu Linux 9.10 安装NS2笔记

 

 

仔细看了这篇文章,发现我所碰到的主要问题就是没有进行文章中提到的第三步,少了这几个软件包闹出这么多毛病,按照文章的方法执行一遍,一切ok

阅读更多
个人分类: Linux
想对作者说点什么? 我来说一句

ubuntu 9.10更新源(速度最快的)

2010年01月26日 1KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭