menu

hjk41的日志

Avatar

cygwin + NS2 2.28 安装成功

[b]
欢迎加入cygwin,ns2讨论群:
80751863
46722732
请注明ns2。

这里有Linux命令及环境设置的简单介绍:
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12660

这里有NS2的简单教程(ns by example):
http://nile.wpi.edu/NS/
here is the PDF file:
http://hpc.cs.tsinghua.edu.cn:8899/wiki/images/Ns_by_example.pdf

On editing cygwin files under Windows:
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12763
[/b]
Ns is a discrete event simulator targeted at networking research. Ns provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless (local and satellite) networks.

简单的说,NS-2是一个网络模拟器,所以经常被用到网络课的教学中。

NS-2是OpenSource的,最早的版本是在linux/unix下运行的,后来有了windows下用vc编译运行的版本,但从2.26以后就放弃了对vc的支持,所以现在装NS2只有两条路,要么装个linux,要么就在windows下装个cygwin,然后再在cygwin上装ns2.

为了一个ns2(完成安装后不过100M)而安装linux(RH9完全安装大概在5G左右)实在不值,所以我决定用cygwin

首先去
http://www.cygwin.com/setup.exe
下载setup.exe,运行,得到这个界面:

点下一步,出现这个界面:

选择“Install from Internet”,当然,如果本地已经下载了你所需要的package,也可以选“Install from Local Directory”

接下来选择安装位置:

可以自己选择一个目录安装。现在(10/13/05)的cygwin版本跟NTFS完全兼容,所以不用担心,可以放心的把它装在NTFS分区。至于Test File Type,建议最好设成unix,虽然我没试过用dos格式,但是鉴于OpenSource的软件原本都是linux/unix下的,所以最好还是用unix

继续下一步

选择一个保存package的地方,我们要用到的package大小大概是60M。当然,如果选择的是Install From Local Directory,那么这一步就会变成“指定package所在的位置”

下一步

指定代理服务器。教育网内的机器是没办法直接上国外网的,所以要指定代理。最该死的是它的 mirror list放在国外,所以即使你知道一个国内的ftp地址(可以下载package的地址,比如ftp://ftp.sjtu.edu.cn/cygwin),你也得指定代理服务器,要不然你就没办法获得mirror list,安装就进行不下去。清华校内的话,除实验室之外推荐使用代理,强烈建议不要直接连国外,要知道国际流量可是 1元/MB,安装一次就需要60RMB!

下一步

选择镜像站点。cygwin有很多镜像站点(但是上面列的都是国外的),可以选择其中一个下载package。也可以自己指定一个站点。比如,如果要用ftp://ftp.sjtu.edu.cn/cygwin,可以在User URL中填这个地址,然后点add,就能将这个地址加到上面的镜像列表中,然后可以选择这个镜像进行安装。

下一步

选择要安装的软件包。这里我只列出ns2需要的包,其中不包括安装程序默认安装的包:
gcc
gcc-g++
gnuplot
make
patch
perl
tar
X-startup-scripts
xorg-x11-base
xorg-x11-bin
xorg-x11-devel
xorg-x11-bin-dlls
xorg-x11-bin-lndir
xorg-x11-etc
xorg-x11-fenc
xorg-x11-fnts
xorg-x11-libs-data
xorg-x11-xwin
点右上角的view,使它旁边的状态显示为Full,你就能看到按字母顺序排序的package列表,在这些包前点鼠标,使它们处于非“Skip”的状态

下一步

开始下载文件,准备安装。下载过程会比较慢,因为总文件有60多M,且分成很多小文件。如果是代理服务器,可能还会更慢,推荐早上开机安装,然后去上自习,估计中午就能下完了 :-P

下载完成后,系统会自动开始安装

安装过程还是比较慢的,耐心等待就是了

安装完成

让人高兴的提示

到这里,cygwin安装完成,这时桌面上应该出现了一个cygwin的图标,点击运行,就能看到cygwin的界面了

接下来就是安装ns2了
先去
http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz
下载ns-allinone安装包。当然也可以选择下载单独的包,然后一个一个安装,不过真的不推荐,因为太麻烦了

下载完后,用winrar(我确定winzip能不能解压tar格式的文件,谁试试,告诉我一声)把里面的文件都解压到 cygwin安装目录下的 home目录的子目录下,比如在我这里就是 c:\cygwin\home\hct 。

启动cygwin,
cd /home/hct/ns-allinone-2.28
./install
安装过程就开始了。由于目录不一样,上面的命令可能不太一样。

安装过程是很漫长的,因为我们下载的是源文件,机器还得先编译,等吧……

安装完后会出现这个提示:

这时还需要修改路径信息,把可执行文件的路径加到PATH环境变量中
打开 c:\cygwin\home\hct\.bashrc (当然,根据安装路径不同,这个文件所处的位置也不同),在文件末尾加入这些信息:

export NS_HOME=/home/hct/ns-allinone-2.28
export PATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library

.bashrc文件可以用记事本打开,不过最好用UE,因为它是unix格式的文本
加入后的文件像这样:
http://www.sinzy.net/Test/i1/20051013132448_1dwgbc45_.bashrc

现在我们的工作就基本完成了。
保存.bashrc,打开cygwin,运行 startxwin.bat
这时应该出现这样的窗口:

运行
cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples
ns example2.tcl

应该会出现这样的窗口:

这就表示ns2安装圆满完成了!


Problems & Solutions

P: 运行 startxwin.bat 时提示“No Such File or Directory”
S: 可能是没有安装X-Startup-Scripts,重新运行setup.exe,然后选择安装就行了
也可能是环境变量没有设置好,按上面的设置再检查一遍,注意要把 hct 改成你相应的名字
另外,应该运行 startxwin.bat ,不能只打 startxwin

P: 运行 ns examples2.tcl 时提示" no such file or directory"
S: 如果是找不到 examples2.tcl 那就是你打 cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples 的时候出了错
如果是找不到ns,那就是环境变量没设置好

P: 运行 ns examples2.tcl 时提示“nam: no such file or directory”
S: 看看你的 /home/hct/ns-allinone-2.28/nam-1.11 目录下有没有 nam.exe 文件,有的话就是你的环境变量设置错了,注意要把 nam-1.11 这个目录加到PATH中
如果没有nam.exe,那就是编译nam时出错了。运行 gcc -dumpversion 看看你的gcc版本,如果是3.4.x,那就好办了。找到 nam-1.11/agent.h ,把它的第73行中的NULL改成0,然后回到nam-1.11目录,运行 ./configure 然后运行 make,等运行完毕,再试试 ns example2.tcl 就应该没问题了
如果gcc版本不是3.4.x,那就不知道是什么问题了,不过可以肯定是编译出了错,所以换个nam版本试试吧

P: 编译nam时出错:can't find X includes
S: 安装libXt-devel

P: 编译nam时出错:x11/xmu/winutil.h: No such file or directory
S: 安装libXmu-devel


References:
http://x.cygwin.com/docs/ug/setup-cygwin-x-installing.html
http://140.116.72.80/~smallko/ns2/setup.htm


[b]23/4/2007更新--关于路径设置的问题,请参考
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12763
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12660
[/b]


[/more]

昨天在自己的机器上装了2.27,搞得灰头土脸才搞定,因为cygwin每个版本的package都不一样,我以前也没怎么弄过OpenSource的软件,所以走了很多弯路

今天到实验室装2.28,以为很快就能搞定,结果弄了一早上,到现在才弄好。主要的问题就是nam的编译问题,这个问题在 ns2 的讨论区已经帖出来了,但不知道为什么,这帮人就是不肯自己把程序改一下,所以到现在从网站上下载下来的程序还是有这个问题,只能手动去改agent.h。

不过最变态的还是tcl的编程,昨天试了一下,发现tcl解释器对格式的要求简直高得变态,比如 if{}else{} 语句,只能这么写:
if { } {

} else {
}
其中 else 之前跟之后都要有空格,要不然就编译不过去,我就ft
看来OpenSource的用户友好度也就只能到这种程度了,除非有像RH这样的公司介入,才能使OpenSource的软件稍微有点人性

麻烦斑竹

可以给一个代理地址吗

谢谢啊!!!

代理很多啊,不过都很慢的说
清华的直接上 proxy.ipcn.org/proxylist.html 有一堆
外校的上新水木的 NetResource版,那里也有经常更新的代理列表
试试这个能不能用:
dns.jdntc.edu.cn:80

我的 WinXP下的帐号有个空格,结果
cygwin 的loginid也有个空格,好像NS不能装在有空格的目录下面。

我应该怎么在cygwin下增加一个用户呢?

我在xp下增加了一个用户,并在cygwin中mkpasswd了
一下,导入用户,但是,却不能su过去。permission denied。

不知该如何解决,3x

执行mkpasswd的那个账号好像得是管理员,要不然就会permission denied
如果还不行就先用原来那个有空格的账号登录,然后执行
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/passwd
然后切换到新增加的用户看看,应该就可以了

谢谢楼主,我我按你的方法安装了ns-allinone-2.28,本来有三个错误的,
Please compile your nam separately.
Please compile your xgraph separately.
Please compile your gt-itm & sgb2ns separately.
第一个解决一,还两个怎么办呢,是不是要重新下载啊

xgraph是在处理结果的时候用的,如果你用其它软件处理的话就不用装它了。而且xgraph应该不是ns带的吧……我也忘了。如果是ns自带的,应该能找到目录,进那个目录./cofigure然后make就行了
至于第三个,我没见过,应该不是必需要装的,用到的时候再装就行

  其它绘图软件会不会难些吧,后来我按你的方法make了,还是不行。现在打算重新再下一次ns-allinone-2.28,估计是里面有问题。
  我也不知道gt-itm有没有用。
  那你知不知道: ns2下网络拥塞控制与服务质量的仿真实验的研究 这个题目要不要用到那些东西。我现在还没入门的。好烦呢

还有就是,可以介绍一款好用的绘图软件吗,最好有中文说明的。xgraph是自带的,有目录,安装时说找不到部份文件。

重新下一个ns的包试试
xgraph是自带的,刚看到,呵呵
安装完试试上面说的那个示例程序,如果能跑起来就问题不大

网络拥塞控制在ns里已经有很多实现了。至于Qos,我没用到,不知道有没有实现,如果没有实现的话就得自己写代码。
入门的话看看这个不错:
http://nile.wpi.edu/NS/

xgraph使用比较方便啦,其它当然也有,不过还得装。而要中文说明的,那估计就难找了,linux下的东西很少有国人写的,所以中文说明也就比较少了

谢了,可是,我重装了个cygwin现在的问题是连ns都不能装了。2.28 2.29 2.29.1 2.29.2 全卡在
make: *** [install-doc] Error 254
tcl8.4.5 installation failed.
Tcl is not part of the ns project. Please see www.Scriptics.com
to see if they have a fix for your platform.
这里了。郁闷啊。
感觉各个站点的cygwin,各个ns-allinone2都有问题,怎么就没得个好的没问题的呢。
而且怎么有的是说要选xfree什么的。是不是版本不一样啊

google 一下 "ns tcl make Error 254",估计跟gcc版本有关

XFree只要装了那几个包就行,版本上没什么问题,因为只是为了运行xgraph跟nam,只要startxwin能启动起来就行

谢谢了
  我今天重新还原了系统。再装了一遍,换了个 cygwin 和ns2.29,2、好像成功了,不要我重编译了。
  虽然测试好像有几个没通过,不过应该没关系的。能运行awk和xgraph绘图了。
  测试信息如下:
  、、All test output agrees with reference output.
Fri Apr 14 14:28:31 2006
These messages are NOT errors and can be ignored:
warning: using backward compatibility mode
This test is not implemented in backward compatibility mode


validate overall report: some tests failed:
./test-all-smac-multihop ./test-all-wireless-tdma
to re-run a specific test, cd tcl/test; ./test-all-TEST-NAME
Notice that some tests in webcache will fail on freebsd when -O is turned on.
This is due to some event reordering, which will disappear when -g is turned on.


Cygwin >= 1.3.19 detected (1.5.18), all tests should have passed.
Please see <http://www.isi.edu/nsnam/ns/ns-problems.html>
for potential solutions.

如果有空就帮我看看。就是有关无线的例子不能用。不过估计我题目也用不上那些。
  没空的话,就算了。谢了。

  

现在一切搞定,能用了。真是太好了。楼主不用替我担心了。呵呵!

我按照步骤来到运行这个ns example2.tcl
bash: ns: command not found
这是怎么回事?
求助,都最后一步了

先看看ns-allinone-2.28/ns-2.28里有没有ns这个可执行文件,没有的话就是编译没成功

如果有的话,就是环境变量没设好
echo $PATH 看看输出的环境变量里有没有错误

没有,没有编译成功,我是完全按照上述步骤,怎么解决没有编译成功的问题?

运行 make 看看错误信息

可是,我重装了个cygwin现在的问题是连ns都不能装了。2.28 2.29 2.29.1 2.29.2 全卡在
make: *** [install-doc] Error 254
tcl8.4.5 installation failed.
Tcl is not part of the ns project. Please see www.Scriptics.com
to see if they have a fix for your platform.
这里了。郁闷啊。
感觉各个站点的cygwin,各个ns-allinone2都有问题,怎么就没得个好的没问题的呢。
"ns tcl make Error 254",估计跟gcc版本有关???倒底应该装什么样的版式本呢?

有没有介绍现今版本的安装的?

cygwin+ns2的确不好装,经常出问题,不嫌麻烦的话装个linux吧,可能花的时间还比装cygwin少呢,linux下装ns2好像比较少出问题

你那个make错误很可能就是gcc的版本造成的,你进tcl-8.4.5目录运行make看看哪个文件出错,如果看得懂输出信息的话可以自己看看能不能解决

至于介绍新版本安装的文章,只能去google了,不过一般都不可能刚好是最新版本的啦

请教楼主:
在选择ns2需要的软件包的时候选你列出的就可以了吗 ?
我按照选的装完以后 在动cygwin进行下一步安装的时候不久就报错了:
no file or directory under:home/user/ns-allione-2.29/tcl8.4.15,不知道该如何办啊?

估计是你的压缩文件没有解压成功,或是你下的压缩包有问题。其实你可以在windows直接用winrar打开压缩包,然后看看是不是有那tcl8.4.15目录,如果压缩包里有的话,那估计就是你的tar程序有问题,你可以直接用winrar把压缩文件解压到你要的目录里,或是重装tar

我列出的只是ns2要用到的东西,像bash,cygwin这样基本的软件包没列出来,你运行cygcheck -cd看看你都安装了哪些包,下面是我安装的包:
Cygwin Package Information
Package Version
_update-info-dir 00321-1
alternatives 1.3.20a-1
ash 20040127-3
base-files 3.6-1
base-passwd 2.2-1
bash 3.0-11
binutils 20050610-1
bzip2 1.0.3-1
coreutils 5.3.0-9
crypt 1.1-1
cygutils 1.2.9-1
cygwin 1.5.18-1
cygwin-doc 1.4-3
diffutils 2.8.7-1
editrights 1.01-1
expat 1.95.8-1
findutils 4.2.25-2
fontconfig 2.2.2-1
freetype2 2.1.9-1
gawk 3.1.5-1
gcc 3.4.4-1
gcc-core 3.4.4-1
gcc-g++ 3.4.4-1
gcc-mingw-core 20050522-1
gcc-mingw-g++ 20050522-1
gdbm 1.8.3-7
gettext 0.14.1-1
gnuplot 4.0.0-1
grep 2.5.1a-2
groff 1.18.1-2
gzip 1.3.5-1
less 381-1
libbz2_1 1.0.3-1
libcharset1 1.9.2-1
libdb4.2 4.2.52-1
libdb4.3 4.3.28-1
libfontconfig-devel 2.2.2-1
libfontconfig1 2.2.2-1
libfreetype2-devel 2.1.9-1
libfreetype26 2.1.9-1
libgd2 2.0.33-1
libgdbm 1.8.0-5
libgdbm-devel 1.8.3-7
libgdbm3 1.8.3-3
libgdbm4 1.8.3-7
libiconv 1.9.2-1
libiconv2 1.9.2-1
libintl 0.10.38-3
libintl1 0.10.40-1
libintl2 0.12.1-3
libintl3 0.14.1-1
libjpeg62 6b-11
libncurses5 5.2-1
libncurses6 5.2-8
libncurses7 5.3-4
libncurses8 5.4-4
libpcre0 6.3-1
libpng12 1.2.8-2
libpopt0 1.6.4-4
libreadline4 4.1-2
libreadline5 4.3-5
libreadline6 5.0-4
libXft 2.1.6-1
libXft-devel 2.1.6-1
libXft1 1.0.0-1
libXft2 2.1.6-1
login 1.9-7
make 3.80-1
man 1.5p-1
mingw-runtime 3.8-1
mktemp 1.5-3
ncurses 5.4-4
patch 2.5.8-8
pcre 6.3-1
pcre-devel 6.3-1
pcre-doc 6.3-1
perl 5.8.7-4
sed 4.1.4-1
tar 1.15.1-2
termcap 20050421-1
terminfo 5.4_20041009-1
texinfo 4.8-1
w32api 3.3-1
which 1.7-1
X-startup-scripts 1.0.10-4
xorg-x11-base 6.8.2.0-1
xorg-x11-bin 6.8.2.0-1
xorg-x11-bin-dlls 6.8.2.0-1
xorg-x11-bin-lndir 6.8.2.0-1
xorg-x11-devel 6.8.2.0-2
xorg-x11-etc 6.8.2.0-1
xorg-x11-fenc 6.8.1.0-2
xorg-x11-fnts 6.8.1.0-3
xorg-x11-libs-data 6.8.2.0-1
xorg-x11-xwin 6.8.2.0-4
xterm 202-1
zlib 1.2.3-1

有出了如下的一个错误:
编译的时候,很快就编译完了,大概不到1分钟:
显示:
tcl8.3.2 configuration failed!
是不是 和 tcl的版本有关呢?

不一定
你进tcl的目录运行 ./configure 应该能看到更详细的错误信息

昏迷我也出现的这个问题:
bash: ns: command not found

谢谢楼主,我的ns2装上了,你的网志给了我莫大的帮助!
光临了20多次,呵呵

今天装cygwin+ ns2.29也是那个TCL的configure过不去,试了ns2.27仍旧不行。
先报一个‘ OSF*)'的"unexpected..."之类的错误,我就把’ OSF*)'前面的一段注解去掉了(注解可能影响了case语句的解释),这个错误过了;
然后再试,发现执行到最后一句说syntax error:非正常退出;
现在想试试ns2.28如何。

那位高人指点一下啊

直接转到Linux环境下试了一下,正编译着欢呢

我在安装过程中
显示:
tcl8.3.2 configuration failed!
哪位仁兄告诉一下解决的方法.期待您的指点.

2.29+cygwin 1.5.9,同样的tcl错误!
help!!!!!!!!

求助楼主!
按你的方法,进行到运行startxwin.bat时出现“系统找不到指定路径”,经cygcheck -cd命令看到X-Startup-Scripts包已经装上,而且那段添加的环境变量的代码就是直接改了楼主的用户名后直接copy过去的。还可能是什么地方有问题呢?急啊……

我在安装NS EXAMPLE2.TCL时出现COMMAND NOT FOUND .这是怎么回事

求NS2下,模拟自相似网络数据流代码。跪求!

求助

和sera @一样的问题 进行到运行startxwin.bat时出现“系统找不到指定路径”,经cygcheck -cd命令看到X-Startup-Scripts包已经装上,而且那段添加的环境变量的代码就是直接改了楼主的用户名后直接copy过去的。还可能是什么地方有问题呢?

安装NS2后没有生成bashrc文件?

不知道是博客的主人(好心人啊)疏忽还是不同机器导致结果不同,我按照博客中的说明一步步装的,无法启动xwindow,后来才发现楼主的startxwin.bat应该是startx才对,然后后面有人提到的nam无法启动问题也就自动解决了~
不过还是感谢楼主
大家有问题互相交流哦

修改环境变量后,打开cygwin将出现n行bash:$'\r':command not found
该怎么解决啊

er...
不同的cygwin版本会有不同的命令,所以会有startx和startxwin的问题,不知道 南开 用的什么版本

其实有条件的话还是建议大家在Linux下装ns2,可以省好多麻烦。。。

另外,如果有基本的shell命令使用经验,搞定cygwin也是很容易的,改天有空我贴一个吧

请教:
我因为要模拟一个蓝牙散射网(scatternet),需用到bluehoc,但bluehoc 要与ns2.1b8a相配.我选择安装了所有的cygwin packet,安装cygwin成功了.然后我开始安装2.1b8a, 但出现了error: can't find X library. 请问有谁在cygwin 上安装过ns2.1b8a吗?怎么解决它?

非常感谢

请问一下,安装ns时出现如下错误是怎么回事?谢谢
/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: rm: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: rm: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: rm: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: Cannot fork: Permissi
on denied
make: *** [install-doc] Error 2
tk8.4.5 installation failed.
Tk is not part of the ns project. Please see www.Scriptics.com
to see if they have a fix for your platform.

error: can't find X library 是因为你安装cygwin的时候没把X程序库装上,重新安装下cygwin,把X开头的包都选上就行了

Permission denied 是因为权限不够,你看看能不能删除这个目录(进入 /home/Administrator/ns-allinone-2.28/,运行rm -rf tk8.4.5),删除以后重装下ns2

关于TCL编译错误的问题,一般是gcc引起的,cygwin的新版本默认安装gcc 4.x,但TCL很可能不支持新版本的gcc,导致编译错误。解决方法是在安装cygwin时,到选择软件包时,选择gcc 3.4版本

如果windows用户名中有中文或空格,安装完cygwin可能不能正常运行。解决方法是在windows中更改用户名,改成英文名,然后进入cygwin,运行
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group

各位前辈:
  我是一个新手,在安装cygwin时没有x-free86的包,我没有选择这个包就安装完了,但是安装成功以后,在cygwin的文件下没有home文件夹,运行cygwin后还是没有,请各位前辈赐教,谢谢了

我安装cygwin后出现的错误如下:
bash:$'{\r': command not found
':not a valid identifier
bash:$'{\r': command not found

有哪位仁兄能指教下啊,谢谢!!我做实验要用啊,急啊~~~~~

我安装cygwin后出现的错误如下:
bash:$'{\r': command not found
':not a valid identifier
bash:$'{\r': command not found

有哪位仁兄能指教下啊,谢谢!!我做实验要用啊,急啊~~~~~

bash:$'\r': command not found
为什么老是提示这样的错误啊?
我都装了不知道多少遍了?
高手帮帮我吧快崩溃了!但是运行例子还是可以的。

安装的时候有个选项是选使用dos格式文本还是unix格式的,如果选了unix模式,那么**千万**不要用记事本编译 .bashrc 文件,否则会出很多莫名其妙的错误。估计楼上的错误就是这么出来的

编译.bashrc文件要用UltraEdit
另外输入命令的时候注意看是不是把输入法关掉了,输入法打开时输入的字符一般是全角字符,cygwin是不认的

多谢楼上的我是那样做的,不过我还没有按照你的说法做,呵呵,不管怎么样,一定非常非常的感激你

今天按照楼主的说明在xp下成功安装了cygwin和ns2,在此感谢楼主提供的详细的安装说明。顺便把今天遇到的两个问题及解决办法贴出来,免得大家走同样的弯路。
1、在安装cygwin时总是提示找不到diff文件,明明安装时选上了还是不行。后来才发现一定要在cygwin下用tar命令解压ns-allinone-2.28的压缩文件才行。
2、楼主提到的修改环境变量时提到要把以下代码加入到agent.h文件后面。
export NS_HOME=/home/hct/ns-allinone-2.28
export PATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library
其中第一行中的hct是指用户名,一定记得改成你自己的用户名,不然在后面运行startxwin.bat时会出错的。

希望对大家有帮助。

好不容易将CYGWIN和NS2安装好,但在运行example2.tcl时却出现了如下的提示错误
nam: no display name and no $DISPLAY environment variable
将环境变量DISPLAY设成0.0后,又出现了如下错误
nam: this isn't a Tk applicationcouldn't connect to display ":0.0"
请高手帮助,如何解决?谢谢!

快帮帮我,我实在是没着了

请高手帮忙!!!!!

问题已解决^_^!!

宝宝你真厉害,都不知道这个帖子这么久了还有人在顶*^_^*

好不容易将CYGWIN和NS2安装好,但在运行example2.tcl时却出现了如下的提示错误
nam: no display name and no $DISPLAY environment variable
将环境变量DISPLAY设成0.0后,又出现了如下错误
nam: this isn't a Tk applicationcouldn't connect to display ":0.0
关于这个问题 我也也遇到过 我建议你去我的博克克看看http://dch6383.blog.sohu.com/40537192.html
会有帮助的

nam: no display name and no $DISPLAY environment variable

这个一般是因为没有用startxwin.bat启动

put ns.exe and nam.exe into "ns-tutorials/examples" path

and try agian

a very boring work to install ns2 on cygwin platform!

请问:
安装中提示我没有diff,不适合ns2,怎么办啊?

我是在linux下装的ns
执行到ns simple.tcl
报错“running nam…
[root@localhost ex]# X Error of failed request:BadValue (integer parameter out of range for operation)
Major opcode of failed request:45(X_OpenFont)

很不懂

Do you wish to proceed regardless?[y/N]

这就是刚开始./install命令的时候弹出来的,如果我选N,马上就会回到administrator@zjnx~
下面来了!!!

如果选项Y,接着还是继续会弹出这样的对话框!!!!

郁闷原来是GCC没有安装!!!害得我得重新SETUP!!!倒

为什么我安装后文件里没有home文件和用户名文件 我输入pwd 发现目录在C:\Documents and Settings\Tiger里面 而且这样的话能够安装但是输入执行例子的事后提升找不到ns 应该是环境变量的问题 但是环境变量的文件应该在home\Tiger里面
按上面说的。。开始就没有产生这个文件。。 为什么会这样 有什么解决方法? 谢谢

没有 /home 目录的解决方法:
自己建一个/home目录

mkdir /home
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group

我是新手,在安装过程的最后一步出现的这个问题:
bash: ns: command not found
根据上面提供的解决办法试过了,还是不行
还可能是什么原因呢?
郁闷,郁闷,郁闷阿!

补充:ns-allinone-2.28/ns-2.28里有ns这个可执行文件

显然你的路径设置还是有问题,呵呵
加入文章开头那个QQ群吧,在上面看看有没有人能帮你看 .bashrc文件

谢谢楼主,受益匪浅!

谢谢楼主!

输入 startxwin.bat后不出现窗口,右下角有个图标,但是鼠标移上去就没有了,这是什么问题

关于“系统找不到指定路径”的问题,是这样的,尽管可能装了startup-X-scripts,但是在windows下,可能你没有将cygwin的目录放在某盘的根目录下,比如c:\cygwin,或者是d:\cygwin,那么这个时候在运行startxwin.bat这个批处理时,就找不到路经。可以用ue打开这个批处理文件,将root的路径改成你当前的cygwin所在路径即可

如果windows用户名中有中文或空格,安装完cygwin可能不能正常运行,按你的方法,不能实现呀,请问怎么解决,,

还有一个问题是在wygwin上安装cmocha,用make命令后提示:
make: ***no targets specified and no makefile found.stop
请问应该怎么解决,,readme上说可能是flex 和bison版本不对,,楼主帮我看下,先谢谢了,期待回复,,

楼主你好我的路径设置完成之后再终端下输入ns后产生如下信息
root@administrator-desktop:~# ns
Usage: host [-v] [-a] [-t querytype] [options] name [server]
Listing: host [-v] [-a] [-t querytype] [options] -l zone [server]
Hostcount: host [-v] [options] -H [-D] [-E] [-G] zone
Check soa: host [-v] [options] -C zone
Addrcheck: host [-v] [options] -A host
Listing options: [-L level] [-S] [-A] [-p] [-P prefserver] [-N skipzone]
Common options: [-d] [-f|-F file] [-I chars] [-i|-n] [-q] [-Q] [-T] [-Z]
Other options: [-c class] [-e] [-m] [-o] [-r] [-R] [-s secs] [-u] [-w]
Special options: [-O srcaddr] [-j minport] [-J maxport]
Extended usage: [-x [name ...]] [-X server [name ...]]


这是什么问题导致的啊?怎么解决啊?谢谢。我是新手

我用的是ubuntu2谢谢

我用的是Ubuntu2.谢谢了

thinkpad@thinkpad-PC ~
$ cd /home/thinkpad/ns-allinone-2.29/ns-2.29/ns-tutorial

thinkpad@thinkpad-PC ~/ns-allinone-2.29/ns-2.29/ns-tutorial
$ cd examples

thinkpad@thinkpad-PC ~/ns-allinone-2.29/ns-2.29/ns-tutorial/examples
$ ns example2.tcl
ns: finish: couldn't execute "nam": no such file or directory
while executing
"exec nam out.nam &"
(procedure "finish" line 7)
invoked from within
"finish"

thinkpad@thinkpad-PC ~/ns-allinone-2.29/ns-2.29/ns-tutorial/examples
$
请大虾指点一下。。。。搞几天了也没装好。。。

楼上加qq群吧。这个问题基本上是路径设置错了

楼主你好,我装的NS2.30,在运行cygwin时,提示 bash:export:"" not a valid identifier.请问怎么修改

最后一步中输入cd/home/Administrator/ns-allinone-2.28/ns-2.28/ns-tutorial/examples
bash: cd/home/Administrator/ns-allinone-2.28/ns-2.28/ns-tutorial/examples: No such file or directory
是怎么回事啊,弄了半天,急死人了

感谢楼主,不过我用startxwin.bat的时候不能打开新的窗口,用startxwin就能,我不知道是为什么

请问楼上的,你安装好了吗,有没有出现我这样的问题?
最后一步中是输入cd/home/Administrator/ns-allinone-2.28/ns-2.28/ns-tutorial/examples吗?

非常感谢楼主的帮助,上面提到的问题我基本上都碰到了,现在终于快解决了安装的问题。尤其是有个群特别好,里面的同学们特别热心!

NS2应该是安装成功的 有时候输入startxwin.bat后不出现窗口,右下角有个图标,但是鼠标移上去就没有了 求求高人指点下

照楼主说的安装了ns-allinone-2.35 安装过程顺利,但是安装完后测试wireless-dsdv-newnode.tcl例子时出现如下错误
num_nodes is set 50

(_o16 cmd line 1)
invoked from within
"_o16 cmd random-motion 0"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o16" line 2)
(SplitObject unknown line 2)
invoked from within
"$node_($i) random-motion 0 "
invoked from within
"if { [string compare $opt(rp) "dsr"] == 0} {
for {set i 0} {$i < $opt(nn) } {incr i} {
dsr-create-mobile-node $i
}
} elseif { [string compare $op..."
(file "wireless-dsdv-newnode.tcl" line 176)
运行另一个脚本时也在新建节点时出现了错误,脚本如下:
set val(chan) Channel/WirelessChannel
set val(prop) Propagation/TwoRayGround
set val(netif) Phy/WirelessPhy
set val(mac) Mac/802_11
set val(ifq) Queue/DropTail/PriQueue
set val(ll) LL
set val(ant) Antenna/OmniAntenna
set val(ifqlen) 50
set val(nn) 50
set val(rp) AODV
set opt(cp) "cbr1"
set opt(sc) "scence1"

puts "\n"
puts "Simulation of a simple wireless topology running with AODV\n"
puts "Starting simulation...\n"

set ns_ [new Simulator]
set tracefd [open aodv.tr w]
$ns_ use-newtrace
$ns_ trace-all $tracefd
set namtracefd [open aodv.nam w]
$ns_ namtrace-all-wireless $namtracefd 1000 300
set topo [new Topography]
$topo load_flatgrid 1000 300
set god_ [new God]
create-god $val(nn)

$ns_ node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-channelType $val(chan) \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON \
-macTrace OFF \
-movementTrace OFF \
for {set i 0} {$i < $val(nn)} {incr i} {
set node_($i) [$ns_ node]
$node_($i) random-motion 0
}

puts "Loading connection pattern file\n"
source $opt(cp)
puts "Connection pattern file loading complete...\n"

puts "Loading scenario file...\n"
source $opt(sc)
puts "Scenario file loading complete...\n"
puts "Simulation may take a few minutes...\n"
puts "A sample script runs"
#设置在nam中移动节点显示的大小,否则,nam中无法显示节点
for {set i 0} {$i < $val(nn)} {incr i} {
$ns_ initial_node_pos $node_($i) 20
}
for {set i 0} {$i < $val(nn)} {incr i} {
$ns_ at 300.1 "$node_($i) reset"
}
$ns_ at 300.2 "stop"
$ns_ at 300.3 "puts\”Simulation runs sucessfully and NS exiting…\"; $ns_ halt"
proc stop {} {
global ns_ tracefd namtracefd
$ns_ flush-trace
close $tracefd
close $namtracefd
exec nam aodv.nam &
exit 0
}
puts $tracefd "Here is a trace for simple wireless simulation\n"
puts $tracefd "The nodes movement file is $opt(cp)\n"
puts $tracefd "The traffic flow between nodes is $opt(sc)\n"
$ns_ run
出现如下错误:
num_nodes is set 50
warning: Please use -channel as shown in tcl/ex/wireless-mitf.tcl
Loading connection pattern file

can't read "node_(1)": no such variable
while executing
"$ns_ attach-agent $node_(1) $udp_(0)"
(file "cbr1" line 8)
invoked from within
"source.orig cbr1"
("uplevel" body line 1)
invoked from within
"uplevel source.orig [list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig [list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source $opt(cp)"
(file "aodv.tcl" line 49)
望楼主解答,谢谢了

评论已关闭